堆的定義:
堆是一種特殊的數據結構,它的通常的表示是它的根結點的值最大或者是最小。
python中heapq的使用
列出一些常見的用法:
heap = []#建立一個常見的堆
heappush(heap,item)#往堆中插入一條新的值
item = heappop(heap)#彈出最小的值
item = heap[0]#查看堆中最小的值,不彈出
heapify(x)#以線性時間將一個列表轉為堆
item = heapreplace(heap,item)#彈出一個最小的值,然后將item插入到堆當中。堆的整體的結構不會發生改變。
heappoppush()#彈出最小的值,並且將新的值插入其中
merge()#將多個堆進行合並
nlargest(n , iterbale, key=None)從堆中找出做大的N個數,key的作用和sorted( )方法里面的key類似,用列表元素的某個屬性和函數作為關鍵字