当前位置:   article > 正文

Python的heapq模块_heapq python

heapq python

一、介绍

heapq模块是Python标准库中的一个模块,提供了对堆(heap)数据结构的支持。

二、实例

heapq模块提供了一系列函数来操作堆,包括:

  • heappush(heap, item):将元素item添加到堆heap中。
  • heappop(heap):从堆heap中弹出并返回最小(或最大)的元素。
  • heapify(heap):将列表heap原地转换为一个合法的堆。
  • heapreplace(heap, item):将堆heap中的最小(或最大)元素弹出,并将元素item添加到堆中。
  • heappushpop(heap, item):将元素item添加到堆heap中,并返回堆中的最小(或最大)元素。
  • nlargest(k, iterable):返回可迭代对象iterable中最大的k个元素。
  • nsmallest(k, iterable):返回可迭代对象iterable中最小的k个元素。

以下是一个使用heapq模块的示例代码,演示了如何创建一个最小堆并进行基本操作:

  1. import heapq
  2. # 创建一个空的堆
  3. heap = []
  4. # 添加元素到堆中
  5. heapq.heappush(heap, 5)
  6. heapq.heappush(heap, 3)
  7. heapq.heappush(heap, 7)
  8. heapq.heappush(heap, 1)
  9. # 弹出并打印堆中的最小元素
  10. print(heapq.heappop(heap)) # 输出: 1
  11. # 将列表转换为堆
  12. heap = [5, 3, 7, 1]
  13. heapq.heapify(heap)
  14. # 弹出并打印堆中的最小元素
  15. print(heapq.heappop(heap)) # 输出: 1

输出结果为:

  1. 1
  2. 1

参考:

Python的heapq模块实现大顶堆,小顶堆_蓝色当当风的博客-CSDN博客

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

闽ICP备14008679号