python 标准库 堆队列算法 heapq
每日一词:
Pollen
n 花粉
例句:
Good news for all you hay fever and asthma sufferers
对于花粉症和哮喘病患者是个好消息
今天是小年,祝大家心想事成
源码
源码:Lib/heapq.py
主要模块和方法:
1 | __all__ = ['heappush', 'heappop', 'heapify', 'heapreplace', 'merge', |
这个模块提供了堆队列算法的实现,也称为优先队列算法。
堆是一个二叉树,它的每个父节点的值都只会小于或大于所有孩子节点(的值)。它使用了数组来实现:从零开始计数,对于所有的 k ,都有 heap[k] <= heap[2*k+1]
和 heap[k] <= heap[2*k+2]
。 为了便于比较,不存在的元素被认为是无限大。 堆最有趣的特性在于最小的元素总是在根结点:heap[0]
。