알고리즘

알고리즘 정리 - 큐

프흐프좋아 2023. 9. 21. 21:49

큐란?

- 큐(queue)는 먼저 삽입된 데이터가 먼저 추출되는 자료구조 (* 롤할때 말하는 '큐' 도 여기서 나온 뜻 같다!)

- 큐를 연결 리스트로 구현하면, 삽입과 삭제에 있어서 O(1) 을 보장할 수 있다.

- 연결 리스트로 구현할 때는 머리(head)와 꼬리(tail) 두 개의 포인터를 가진다.

 

1) 머리(head): 남아있는 원소 중 가장 먼저 들어 온 데이터를 가리키는 포인터

2) 꼬리(tail): 남아있는 원소 중 가장 마지막에 들어 온 데이터를 가리키는 포인터

 

삽입할 때는 꼬리(tail) 위치에 데이터를 넣는다

삭제할 때는 머리(head) 위치에서 데이터를 꺼낸다


예제)

전체 연산: 삽입 3 – 삽입 5 – 삭제 – 삽입 7 – 삭제 – 삽입 8 – 삭제 – 삽입 2 – 삽입 9

 

한쪽에선 삽입, 다른 한쪽에선 삭제를 진행한다

3

3 5

5

5 7

7

7 8

8

8 2

8 2 9

순서다