https://docs.python.org/zh-tw/3/library/heapq.html
heapq.heappush(heap, item)
把 item 放進 heap,並保持 heap 性質不變。
heapq.heappop(heap)
從 heap 取出並回傳最小的元素,同時保持 heap 性質不變。如果 heap 是空的會產生 IndexError 錯誤。只存取最小元素但不取出可以使用 heap[0] 。
heapq.heappushpop(heap, item)
將 item 放入 heap ,接著從 heap 取出並回傳最小的元素。這個組合函式比呼叫 heappush() 之後呼叫 heappop() 更有效率。
heapq.heapify(x)
在線性時間內將 list x 轉為 heap,且過程不會申請額外記憶體。