이전 내용

7. 큐

7-a. 큐(Queue)란?

First In First Out, 선입선출의 구조를 가진 선형 자료구조

Untitled

큐의 특징

큐의 종류

선형 큐

1.배열을 통한 큐 구현

Queue를 구현할 경우, EnQueue와 DeQueue 시 비워진 공간을 매꾸기 위해 O(n)이 소요되기 때문에 추천되지 않는다.

// 직접 구현해보기
class Queue {

enqueue(){}
dequeue(){}
peek(){}
size(){}
}

2.링크드 리스트를 통한 구현

Head = Front, Tail = Rear로 대응하여 구현 가능

Untitled

//직접 구현해보기
class Node{}
class Queue{
	enqueue(){}
	dequeue(){}
	peek(){}
	size(){}
}

참고 shift를 통해 간단히 구현가능하지만, 선형시간이 소요되기 때문에, 본질적인 큐의 구조와 다르다

환형 큐

Front와 Rear가 이어져있는 Queue

Untitled

7-b. 실습

8. 해시 테이블

키와 값을 받아, 키를 해싱하여 나온 index에 값을 저장하는 선형 자료구조

해시함수란

입력받은 값을 특정 범위 내 숫자로 변경하는 함수

해시충돌