函數:
- heappush(heap, item):將 item 元素加入堆。
- heappop(heap):將堆中最小元素彈出。
- heapify(heap):將堆屬性應用到列表上。
- heapreplace(heap, x):將堆中最小元素彈出,並將元素x 入堆。
- merge(*iterables, key=None, reverse=False):將多個有序的堆合併成一個大的有序堆,然後再輸出。
- heappushpop(heap, item):將item 入堆,然後彈出並返回堆中最小的元素。
- nlargest(n, iterable, key=None):返回堆中最大的 n 個元素。
- nsmallest(n, iterable, key=None):返回堆中最小的 n 個元素。
使用:
- import heapq
- heap = []
默認最堆,當要使用最大堆時,一個小trick是將所有元素的相反數壓入,取出後再取反