当前位置:   article > 正文

Python学习:heapq模块_最小堆的最小元素位于

最小堆的最小元素位于

简介

Python中,heapq模块是实现最小堆的模块。

堆是非线性的树形数据结构,有两种堆,即最大堆与最小堆。

最大堆,指的是树的各个父节点的值,总是大于或者等于任何一个子节点的值。

最小堆,指的是树的各个父节点的值,总是小于或者等于任何一个子节点的值。因此整个最小堆的最小元素总是位于树的根节点。

在Python提供的heapq模块中,堆数据结构最重要的特征是heap[0]永远是最小的元素。

方法

在heapq模块中,模块提供的方法如下:

方法原型 方法解析
heapq.heappush(heap,item) 将元素item推送至堆heap中
heapq.heappop(heap) 从堆中弹出最小元素,如果堆是空,则IndexError,获取最小元素而不弹出元素,可使用heap[0]。函数返回堆中最小元素。
heapq.heappushpop(heap,item) 将元素item推送至堆heap中,然后从堆中弹出最小元素。函数返回最小元素。
heapq.heapify(x) 将列表x转换为堆,即创建堆
heapq.heapreplace(heap,item) 弹出堆中的最小元素,然后将元素item推送至堆中,如果堆是空,则IndexError。函数返回堆中最小元素
heapq.merge(*iterables,key=None,re
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/1020073
推荐阅读
相关标签
  

闽ICP备14008679号