상세 컨텐츠

본문 제목

[자료구조] 큐(Queue)

Data Structure

by choiDev 2020. 11. 5. 02:06

본문

Queue의 종류 

1. 선형 Queue
  1.1 가장 기본적인 선형 Queue
  1.2 Queue가 가득 차게되어 데이터를 넣지 못하는 상황일때 
      Dequeue시 빈 공간에 데이터를 한 칸씩 당기는 작업을 해야하는 단점이 있습니다.

2. 원형 Queue
  2.1 선형 Queue의 단점이 보완되어 Dequeue시 데이터를 당기지 않고 
       Front와 Rear의 위치를 변경합니다.
  2.2 Front와 Rear의 거리는 Data의 갯수이며, 둘의 위치는 (삽입/출력)에 맞춰 변경됩니다.

3. 우선순위 Queue (트리구조 여서 Heap과 함께 다루겠습니다)

 

 

선형 Queue 구조

 

 

 

 

 

 

Queue 용어

FIFO (First In First Out) 선입선출
Front 데이터가 출력되는 곳
Rear 데이터가 입력되는 곳
Enqueue / Dequeue 데이터 (입력 / 출력)
Peek 다음 출력될 데이터 확인

 

 


Queue의 용도

  1. 우선순위 작업 (인쇄 대기열, 티켓 카운터)
  2. 데이터 유입 속도가 소모 속도보다 빠른 경우 
  3. 쓰레드 사이 or 프로세스 사이에서 네트워크 통신을 한 뒤 데이터를 임시적으로 보관하는 역할을 합니다. (동기화 문제)

관련글 더보기