11.2 우선순위 큐

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

    MinPriorityQueue

    - Object

    : 키를 가진 원소 집합

    - Operation

    1. is_empty( ) -> Boolean

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

    2. push(item)

    : 큐에 원소 item을 삽입

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