본문 바로가기

자료구조

Queue(선형 큐)

선입선출(First-In-First-Out : FIFO) : 먼저 들어간것이 먼저 나온다

Queue 이전에 배웠던, LinkedList로 구현한다.

Queue 를 Array 로 개발하는 것은 상당히 비효율적이다.(특히 삭제시, 데이터를 1칸씩 앞으로 땡겨와야 한다.) => 다음 포스트에 나오겠지만, 원형 큐가 생겨나게 된 이유이다.

 

 

offer : 삽입 (Enqueue)

1. 처음에 Dummy Head 와 Dummy Tail 이 한곳에 동시에 저장 되어 있다.

2. 데이터가 삽입이 이루어 지면서, Tail 노드를 뒤로 이동시킨다.

 

 

poll : 추출 (Dequeue)

1. 데이터(result) 의 pointer 를 끊어낸다. = 제거

2. Head의 next pointer 를 재설정 한다. ⇒ 뒤에 쌓여 있는 데이터를 앞으로 땡겨오는 과정.

=> LinkedList 의 경우 pointer 만 재설정 해주면 되는 반면, Array는 한칸 씩 모두 앞으로 땡겨와야 하는 작업이 필요(비효율적)

 

peek

0번째 인덱스에 있는 항목을 복제하여 추출

 

 

 

 

'자료구조' 카테고리의 다른 글

Hash  (0) 2022.12.11
Queue(원형 큐 : Circular Queue)  (0) 2022.12.11
Stack  (0) 2022.12.11
Double LinkedList  (0) 2022.12.11
Single LinkedList  (0) 2022.12.10