蓝桥杯常用库heapq

2023-12-20 17:17:48

堆的常用方法

使用list表示一个堆

将无序List转换成最小堆;heapq.heapify(a)

最小堆a中添加元素x:heapq.heappush(a, x)

弹出并返回最小元素:heapq.heappop(a)

弹出并返回最小元素,同时添加元素x:heapq.heapreplace(a,x)

?

import heapq

a = [11, 6, 9, 8, 7, 3]
heapq.heapify(a)
print(a)
heapq.heappush(a, 4)
print(a)
heapq.heappush(a, 12)
print(a)
while len(a):
    print(heapq.heappop(a), end=' ')

# 
[3, 6, 9, 8, 7, 11]
[3, 6, 4, 8, 7, 11, 9]
[3, 6, 4, 8, 7, 11, 9, 12]
3 4 6 7 8 9 11 12 

文章来源:https://blog.csdn.net/qq_64685283/article/details/135102857
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。