Python教程

python中heapq小顶堆的使用

本文主要是介绍python中heapq小顶堆的使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、
1.1
a = [2,4,1,3,6,1,4]
heapq.heappush(a,3)
print(a)
heapq.heappush(a,5)
print(a)
heapq.heappush(a,1)
如果原列表有值,那么新增加的值不能自动与原列表的值构成小顶堆。
result:

[2, 4, 1, 3, 6, 1, 4, 3]
[2, 4, 1, 3, 6, 1, 4, 3, 5]

 

 1.2

import heapq
a = []
heapq.heappush(a,3)
print(a)
heapq.heappush(a,5)
print(a)
heapq.heappush(a,1)
print(a)
如果原列表无值,在列表插入值过程中,整个列表可以形成小顶堆
result:
[1, 5, 3]


二、python中如何调用大顶堆?

  python没有可以直接使用的大顶堆。但是我们可以给列表中的元素加上负号,是的变成小顶堆,再在取数的时候再将其添加负号,就将小顶堆变成了大顶堆。

 

这篇关于python中heapq小顶堆的使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!