Python3
heapq
# 默认小根堆
Heap = [] # 初始化为空
heapq.heapify(list) # 将一个list原地转换为堆,线性时间
heapq.heappush(Heap, item) # 插入一个元素 item,类型随意 x, (x, y) 均可
Top = heap.heappop(Heap) # 删除堆顶并返回
Top = heapq.heappushpop(heap, item) # 先将 itmp push 进去,再弹出最小值并返回,注意顺序
Top = heapq.heapreplace(heap, item) # 先弹出并返回,再 push item,注意堆空会返回异常
for item in Heap1 + Heap2 :
# 遍历两个堆:先遍历 Heap1 再遍历 Heap2
set
s = set() # 初始化为空
s = set(list) # 将 list 转化为 set
s.add(item) # 添加 item
x = s.pop() # 删除set的最小值并返回
s.clear() # 清空 set