import heapq
# 创建一个空的最小堆
min_heap = []
# 向堆中添加元素
heapq.heappush(min_heap, 10)
heapq.heappush(min_heap, 30)
heapq.heappush(min_heap, 20)
# 查看堆顶元素(最小值)
print("堆顶元素:", min_heap[0]) # 输出: 堆顶元素: 10
# 弹出堆顶元素
smallest = heapq.heappop(min_heap)
print("弹出的最小元素:", smallest) # 输出: 弹出的最小元素: 10
# 查看剩余堆中的元素
print("剩余堆中的元素:", min_heap) # 输出: 剩余堆中的元素: [20, 30]
# 将列表转换为堆
arr = [5, 7, 9, 4, 3]
heapq.heapify(arr)
print("转换后的堆:", arr) # 输出: 转换后的堆: [3, 4, 9, 7, 5]
# 获取三个最大的元素
largest_three = heapq.nlargest(3, arr)
print("三个最大的元素:", largest_three) # 输出: 三个最大的元素: [9, 7, 5]
# 获取两个最小的元素
smallest_two = heapq.nsmallest(2, arr)
print("两个最小的元素:", smallest_two) # 输出: 两个最小的元素: [3, 4]
创建和操作最小堆:
heapq.heappush(heap, item):将元素 item 添加到堆 heap 中。heapq.heappop(heap):从堆中弹出并返回最小的元素。heapq.heapify(x):将列表 x 转换为堆。获取最大/最小元素:
heapq.nlargest(n, iterable):返回 iterable 中最大的 n 个元素。heapq.nsmallest(n, iterable):返回 iterable 中最小的 n 个元素。通过这些函数,可以方便地实现优先队列、堆排序等算法。
下一篇:python peewee
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站