Pythonには、順序付きのリストでヒープを実装するheapqモジュールが用意されている。このモジュールを利用することで、アイテムの追加や削除の際もソートされた状態が維持される「優先順位付きキュー」を、素早く簡単に作成することができるのである。このheapqモジュールでは、常に最小のアイテムを返す「最小ヒープ」を実現するための関数が定義されており、以下のようにheappush関数を用いて値の追加を、heappop関数で値の削除を行える。 >>> from heapq import heappush, heappop >>> heap = [] >>> heappush(heap, 2) >>> heappush(heap, 10) >>> heappush(heap, 4) >>> heappush(heap, 5) >>> heappop(heap) 2 >>> heappop(heap