heapq --- 堆队列算法

本模块实现了 最小堆队列算法

堆队列本质上是一个列表,其元素的存储方式使得列表的第一项始终是最小的。最小值的插入和删除都是 O(log n) 操作,使得堆成为一种基于普通列表构建的便捷优先队列实现。

函数

heapq.heappush(heap: list, item: Any) None

item 压入 heap

heapq.heappop(heap: list) Any

heap 中弹出第一项并返回它。如果 heap 为空,则抛出 IndexError

返回的项将是 heap 中最小的项。

heapq.heapify(x: list) None

将列表 x 转换为堆。这是一个原地操作。