본문 바로가기
자료구조 & 알고리즘/이론

[자료구조] 큐(queue) 파이썬으로 구현하기

by ge_ai 2022. 4. 8.

Queue (선입선출) 

  • 큐는 먼저 들어온 자료가 가장 먼저 처리되는 자료구조
  • FIFO(First In First Out) 기반의 매우 유명한 자료 구조
  • 순서 보장
큐(Queue)의 종류

1. Enqueue : 큐 맨 뒤에 어떠한 요소를 추가

      예) 마지막으로 온 손님에게 번호표 발부
2. Dequeue : 큐 맨 앞쪽의 요소를 삭제

      예) 창구에서 서비스를 받은 손님의 번호표를 대기목록에서 삭제
3. Peek : front에 위치한 데이터를 읽음

      예) 다음 서비스를 받을 손님이 누구인지 확인
4. Front : 큐의 맨 앞의 위치(인덱스)

      예) 다음 서비스를 받을 손님의 번호
5. Rear : 큐의 맨 뒤의 위치(인덱스)

      예) 마지막에 온 손님의 번호

dequeue(deletion), enqueue(insertion)

구현
# colab
from collections import deque

# 삽입
def enqueue(queue, element):
  queue.append(element)

# 삭제
def dequeue(queue):
  print(queue.popleft())

if __name__=='__main__':
  queue_1 = deque()

  enqueue(queue_1, 1)
  enqueue(queue_1, 2)
  enqueue(queue_1, 3)
  print(queue_1)

  dequeue(queue_1)
  dequeue(queue_1)
  dequeue(queue_1)
  print(queue_1)
더보기

[결과]

deque([1, 2, 3])
1
2
3
deque([])

댓글