python模块之heapq
一、heapq(堆)队列
这个提供了堆队列的语法,也就是优先队列语法。
堆是完全二叉树。heap[0]是最小元素
heap的索引是从0开始的。pop的是小根堆,每次都返回最小的元素
二、heapq的方法
1、heapq.heapify(x):创建堆,将list转化为堆
1、heapq.heappush(heap, item):
2、heapq.heappop(heap)
3、heapq.heappushpop(heap, item)
4、heapq.merge(*iterables, key=None, reverse=False)
4、heapq.heapreplace(heap, item)
三、基于堆提供额外的heapq的方法
1、heapq.merge(*iterables, key=None, reverse=False)
2、heapq.nlargest(n, iterable, key=None)
3、heapq.nsmallest(n, iterable, key=None)
人,从刚出生来到这个世界,便开始探索这个世界。累了就歇会,精神了就继续探索,直至死亡。

浙公网安备 33010602011771号