python库整理:heapq 最小堆

1,最小堆的创建

要创建堆,请使用初始化为[]的列表,或者可以通过函数heapify()将填充的列表转换为堆

2,主要函数

 

heappush(heap,item)

将值项推入堆,保持堆不变

heapq.heappop(heap)

弹出并从堆中返回最小的项,从而保持堆不变。如果堆为空,则会引发IndexError。要访问最小的项目而不弹出它,请使用heap [0]。

 

heapq.heappushpop(heap,item)

将项目推入堆中,然后弹出并从堆中返回最小的项目。组合的操作比heappush()+heappop()更有效地运行。

h8Glh6VTElzdAAAAABJRU5ErkJggg==

 

heapq.heapify(x)

将列表x在线性时间内就地转换为堆。
 

计算机生成了可选文字: fromimportPriorityQueue3SPO 0,3,5,2。51 heapq.heapify(lst) 1st executedin5ms,finished105332020.12.30 [1,乙5351

元素的排列顺序并不像看起来那么随意。它们虽然不是严格排序的,但必须保证一点:位置i处的元素总是大于位置i // 2处的元素

heapq.heapreplace(heap,item)

把最小的元素替换

AAAAABJRU5ErkJggg==

 

heapq.nlargest(n,iterable,key=None)

从iterable定义的数据集中返回包含n个最大元素的列表。 key(如果提供)指定一个参数的功能,该参数用于从iterable中的每个元素中提取比较键

计算机生成了可选文字: importheapq Istl=[ 愆xq冂 heapq.nlargest(l Istl的key-lambdax executedin4ms,finished10552020.12.30 0“1 :0[到产“d00]月

nsmallest同理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值