当前位置:   article > 正文

【Python编程】堆:heapq 实现_heappq

heappq

堆:heapq 实现

1.基本介绍

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

  • 大根堆:树中各个父节点的值总是大于或等于任何一个子节点的值。
  • 小根堆:树中各个父节点的值总是小于或等于任何一个子节点的值。

在这里插入图片描述
我们一般使用二叉堆来实现优先级队列,它的内部调整算法复杂度为 logN。堆是一个二叉树,其中小根堆每个父节点的值都小于或等于其所有子节点的值。整个小根堆的最小元素总是位于二叉树的根节点。

python 的 heapq 模块提供了对堆的支持,heapq 堆数据结构最重要的特征是 heap[0] 永远是最小的元素。heapq库中的堆默认是小根堆。

import heapq
  • 1
'
运行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/1020067
推荐阅读
相关标签