当前位置:   article > 正文

【Python】堆(heap)的基本操作_heapreplace

heapreplace

#Python-堆(heap)的基本操作

import heapq #载入heap库,heap指的是最小堆
  • 1

使数组转化为堆

heapq.heapify(list)

heap = [1,3,4,2,6,8,9]
heapq.heapify(heap)
# heap = [1,2,4,3,6,8,9]
  • 1
  • 2
  • 3

为heap增加元素

heapq.heappush(heap,item)

  heap = [1,3,4,2,6,8,9]
  heapq.heappush(heap, 2)
  # heap = [1,3,4,2,6,8,9,2]
  • 1
  • 2
  • 3

删除堆顶(即最小值)

heapq.heappop(heap)

  heap = [1,3,4,2,6,8,9]
  heapq.heappop(heap) 
  # heap = [3,2,4,9,6,8] #删除堆顶后将堆尾放到堆顶,然后下沉
  • 1
  • 2
  • 3

删除最小值并添加新值

heapq.heapreplace(heap, item)

  heap = [1,3,4,2,6,8,9]
  heapq.heapreplace(heap, 4)
  # heap = [3,2,4,4,6,8,9]#删除堆顶后将新元素放到堆顶,然后下沉
  • 1
  • 2
  • 3

查堆中最大n个数

heapq.nlargest (n, heap)

  heap = [1,3,4,2,6,8,9]
  result = heapq.nlargest (2, heap)
  # result = [9,8]
  • 1
  • 2
  • 3

查堆中最小n个数

heapq.nsmallest(n, heap) #查询堆中的最小元素,n表示查询元素个数

 heap = [1,3,4,2,6,8,9]
 result = heapq.nsmallest (2, heap)
 # result = [1,2]
  • 1
  • 2
  • 3
参考链接

https://blog.csdn.net/this_is_me_anyway/article/details/79755118

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

闽ICP备14008679号