Python heapq.heappop() 函数详解:弹出堆顶元素 (最小值)
heapq.heappop() 弹出的是堆顶元素,也就是最小值。
heapq 模块提供了一系列函数用于在 Python 中实现堆排序。其中,heapq.heappop() 函数的作用是从堆中弹出堆顶元素,即最小值。
例如:
import heapq
heap = [3, 1, 4, 1, 5, 9, 2, 6, 5]
heapq.heapify(heap)
print(heapq.heappop(heap)) # 输出 1 (最小值)
print(heap) # 输出 [2, 3, 4, 1, 5, 9, 5, 6]
在以上代码中,我们首先创建了一个列表 heap,并使用 heapq.heapify() 函数将其转换为最小堆。然后,我们使用 heapq.heappop() 函数弹出堆顶元素,即最小值 1。同时,列表 heap 被更新,并保持堆的性质。
需要注意的是,heapq.heappop() 函数只能从最小堆中弹出最小值,如果需要从最大堆中弹出最大值,需要先对数据进行反转。
原文地址: https://www.cveoy.top/t/topic/lLN0 著作权归作者所有。请勿转载和采集!