Python的heapq模块实现了一个最小堆。
创建堆
创建堆有两种方式,heappush()和heapify()。...import heapq
data = [1,5,3,2,8,5]
heap = []
for n in data:
heapq.heappush(heap, n)
如果数据已经存在于内存中...import heapq
data = [1,5,3,2,8,5]
heapq.heapify(data)
print heapq.heappop(data) # print 1
如果希望在一个操作中删除现有最小元素并替换成新值...:
[8, 5, 5]
[1, 2, 3]
只有在n值比较小的情况下nlargest()和nsmallest()才比较高效。...参考手册》
《python标准库》