
큐는 First In, First Out (FIFO) 구조
먼저 들어온 데이터가 먼저 나감
- enqueue(x) : 큐의 뒤에 데이터 추가
- dequeue() : 큐의 앞에서 데이터 제거
- peek() 또는 front() : 맨 앞 데이터를 확인(제거는 안함)
- is_empty() : 큐가 비어 있는지 확인
- 운영체제의 작업 스케줄링
→ CPU 작업, 프린터 작업 등은 순서대로 처리됨- 데이터 버퍼링 (streaming, IO)
→ 먼저 들어온 데이터부터 처리- 그래프 탐색 (BFS)
→ 너비 우선 탐색에서는 큐로 다음 탐색 순서를 관리- 시뮬레이션 문제
→ 사람, 프로세스, 이벤트 등의 처리 순서를 표현할 때
from collections import deque
q = deque()
q.append(1) # enqueue
q.append(2)
q.append(3)
print(q.popleft()) # dequeue → 1
print(q.popleft()) # dequeue → 2
print(q) # deque([3])