Pythonでヒープ構造を使う(heapqモジュール)

常に最初の要素が最小値(あるいは最大値)となるようなリストが必要な場合、ヒープ構造を用いることで最小値(最大値)の取り出しをO(1)、要素の追加をO(log n)の時間計算量で行うことができる。 Pythonでヒープを扱う場合、heapqモジュールが使える。 import heapq a = [6, 3, 2, 4, 5] heapq.heapify(a) # 破壊的 print…