Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

heapq python

作者:殘沫灕汐   发布日期:2026-08-01   浏览:55

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]

解释说明:

  1. 创建和操作最小堆

    • heapq.heappush(heap, item):将元素 item 添加到堆 heap 中。
    • heapq.heappop(heap):从堆中弹出并返回最小的元素。
    • heapq.heapify(x):将列表 x 转换为堆。
  2. 获取最大/最小元素

    • heapq.nlargest(n, iterable):返回 iterable 中最大的 n 个元素。
    • heapq.nsmallest(n, iterable):返回 iterable 中最小的 n 个元素。

通过这些函数,可以方便地实现优先队列、堆排序等算法。

上一篇:python list转dataframe

下一篇:python peewee

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

python windows下文件路径写法

python集合中的元素可以是列表

staticmethod在python中有

python 保存json文件

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站