더북(TheBook)

11.2 우선순위 큐

우선순위 큐는 키를 가진 원소 집합을 위한 자료 구조로, 힙처럼 최대 우선순위 큐와 최소 우선순위 큐가 있습니다. 우선순위 큐는 이진 탐색 트리로도 구현할 수 있습니다. 이진 탐색 트리가 minmax 연산, insertdelete 연산을 지원하기 때문입니다. 하지만 우선순위 큐는 힙으로 구현하는 경우가 많습니다. 이 절에서는 파이썬이 제공하는 heapq 모듈을 이용해서 최소 우선순위 큐(min priority queue)를 구현해 보겠습니다. 그 전에 최소 우선순위 큐의 ADT를 기술해 보겠습니다.

MinPriorityQueue

- Object

: 키를 가진 원소 집합

- Operation

1. is_empty( ) -> Boolean

: 큐가 비어 있으면 TRUE, 아니면 FALSE 반환

2. push(item)

: 큐에 원소 item을 삽입

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.