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没有可以直接使用的大顶堆。但是我们可以给列表中的元素加上负号,是的变成小顶堆,再在取数的时候再将其添加负号,就将小顶堆变成了大顶堆。
标签:heapq,python,列表,heappush,print,小顶 来源: https://www.cnblogs.com/davis-wu/p/16126860.html