Stack & Queue & Deque

김정현·2023년 7월 5일
0

1. Stack

규칙 : First in Last Out

스택의 추상 자료형

자료형내용
push데이터 삽입
pop데이터 제거
peek데이터 참조
inEmpty비었는지 체크

2. Queue

규칙 : First in First Out

운형체제가 프로세스의 작업요청을 들어온 순서대로 Queue에 넣고
CPU가 순서대로 꺼내서 처리 한다. ( FIFO 스케쥴링 )

head 와 tail을 가지고 있어서 O(1)의 성능을 가진다.
O(1)의 속도를 가지려면 양방향 LinkedList를 사용해야 한다.

추상 자료형

자료형내용
enqueue데이터 삽입
dequeue데이터 제거
front데이터 참조
inEmpty비었는지 체크

3. Deque

규칙 : head 와 tail 에서 두군데서 삭제와 수정이 가능하다

추상 자료형

자료형내용
printAll모든 데이터 출력
addFirsthead에 데이터 삽입
removeFirsthead에서 데이터 제거
addLasttail에 데이터 삽입
removeFirsttail에 데이터 제거
isEmpty리스트 비었는지 체크

4. Hash Table

특징

  1. Key 만 알면 Value에 O(1)의 성능으로 읽기가 가능하다.
  2. 수정 과 삭제도 O(1)의 성능을 가진다.

장점

  1. 빠른 데이터 읽기, 삽입, 삭제 가능

단점

  1. 메모리를 많이 사용한다.
  2. 공간을 많이 마련해두어야 한다.
  3. 좋은 해시 함수의 구현이 필요하다.

추상 자료형

자료형내용
set데이터 삽입
get데이터 조회
remove데이터 제거

5. Set

데이터의 중복을 허용하지 않는 자료구조

  1. Hash Table을 사용하여서 Hash Set 이라고도 불린다.
  2. Hash Table의 Value은 사용하지 않고 Key만 사용하여 구현한다.

추상 자료형

자료형내용
add데이터 삽입
inContain데이터 체크
remove데이터 제거
clearSet 바우기
isEmptySet 비었는지 체크
printAllSet의 모든 데이터 출력
profile
개발일지

0개의 댓글