0
点赞
收藏
分享

微信扫一扫

python创建堆以及基本操作-入堆、出堆、list转堆

Yaphets_巍 2022-01-26 阅读 50

python创建堆

可以通过列表转堆实现,也可以逐一入堆实现,python heapq构建的是最小堆,如果需要最大堆可以元素取-,用最小堆来等价

import heapq
arr = [1, 3, 2, 4]
heapq.heapify(arr) #将list转为堆
heapq.heappush(arr, 9) #将9入堆
heapq.heappop(arr) #最小元素出堆
heapq.heapreplace(arr, 11) #最小元素出堆,然后11入堆

所有方法都维护最小堆数据结构的定义,维护集合最值

更多操作可见如下官方文档,heapq包中相关堆的操作写的非常清楚:

heapq --- 堆队列算法 — Python 3.7.12 文档

举报

相关推荐

0 条评论