큐(Queue)란?
- 큐는 배열과 함께 가장 쉽지만, 컴퓨터에서 핵심적인 운영체제와 인터넷의 네트워크 기능에도 많이 쓰인다.
구조
- 큐는 줄을 서는 행위와 유사하다.
- 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조이다.
- FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out) 방식으로 스택과 꺼내는 순서가 반대이다.
용어
- Enqueue: 큐에 데이터를 넣는 기능이다.
- Dequeue: 큐에서 데이터를 꺼내는 기능이다.
라이브러리
- 다양한 큐 구조로
Queue()
,LifoQueue()
,PriorityQueue()
를 제공한다. - 프로그램에 따라 적합한 자료구조를 사용한다.
Queue()
: 가장 일반적인 큐 자료구조이다.LifoQueue()
: 나중에 입력된 데이터가 먼저 출력되는 구조(스택 구조)이다.PriorityQueue()
: 데이터마다 우선순위를 넣어서, 우선순위가 높은 순으로 데이터를 출력한다.
Queue()
1 |
|
LifoQueue()
1 |
|
PriorityQueue()
1 |
|
용도
- 운영체제에서 멀티 테스킹을 위해 프로세스 스케쥴링을 구현하기 위해 많이 사용된다.
구현
- 파이썬의 리스트로 구현한다.
1 |
|