Queue

CorinBeom·2025년 3월 24일

Algorithm

목록 보기
9/15
post-thumbnail

📌 큐(Queue) – First In, First Out (FIFO)

큐는 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])
profile
Before Sunrise

0개의 댓글