자료구조 알고리즘

QUEUE - 큐

robin0309 2020. 4. 8. 13:19

1. 큐 구조

  • 줄을 서는 행위와 유사
  • 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조
    • 음식점에서 가장 먼저 줄을 선 사람이 제일 먼저 음식점에 입장하는 것과 동일
    • FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out) 방식으로 스택과 꺼내는 순서가 반대

 4가 먼저 들어왔으니 4 부터 OUT

 

 

 

 

 

 

2. 알아둘 용어

  • Enqueue: 큐에 데이터를 넣는 기능 - > 숫자가 들어가는것은 OUTPUT 지점부터
  • Dequeue: 큐에서 데이터를 꺼내는 기능 -> 숫자를 꺼내는것은 INPUT 지점부터

 

3.파이썬 queue 라이브러리 활용해서 큐 자료 구조 사용하기

  • queue 라이브러리에는 다양한 큐 구조로 Queue(), LifoQueue(), PriorityQueue() 제공
  • 프로그램을 작성할 때 프로그램에 따라 적합한 자료 구조를 사용
    • Queue(): 가장 일반적인 큐 자료 구조
    • LifoQueue(): 나중에 입력된 데이터가 먼저 출력되는 구조 (스택 구조라고 보면 됨)
    • PriorityQueue(): 데이터마다 우선순위를 넣어서, 우선순위가 높은 순으로 데이터 출력

일반적인 큐 외에 다양한 정책이 적용된 큐들이 있음

3.1. Queue()로 큐 만들기 (가장 일반적인 큐, FIFO(First-In, First-Out))

3.2. LifoQueue()로 큐 만들기 (LIFO(Last-In, First-Out))

3.3. PriorityQueue()로 큐 만들기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. 연습

반응형

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

이진 트리-binary Tree  (0) 2020.04.28
Hash Table- 해쉬 테이블  (0) 2020.04.10
시간복잡도  (0) 2020.04.10
Linked List -링크드 리스트  (0) 2020.04.09
Stack- 스택  (0) 2020.04.08
반응형