当前位置: 首页 > wzjs >正文

建设网站是要先建站在备案么中药网站模板

建设网站是要先建站在备案么,中药网站模板,合肥网站建设公,wordpress 函数快速Python中heapq库的基础使用方法和示例代码,包含详细注释说明: 1. 基本功能 heapq 实现的是最小堆(父节点值 ≤ 子节点值),核心操作包括: 插入元素:heappush(heap, item)弹出最小值&#xff1a…

Python中heapq库的基础使用方法和示例代码,包含详细注释说明:


1. 基本功能

heapq 实现的是最小堆(父节点值 ≤ 子节点值),核心操作包括:

  • 插入元素heappush(heap, item)
  • 弹出最小值heappop(heap)
  • 堆化列表heapify(list)(将无序列表转换为堆)
  • 查看最小值heap[0]

2. 基础示例代码

import heapq# 创建一个空堆
heap = []# 插入元素
heapq.heappush(heap, 3)
heapq.heappush(heap, 1)
heapq.heappush(heap, 4)print("当前堆:", heap)  # 输出: [1, 3, 4](实际存储为堆结构)# 弹出最小值
min_val = heapq.heappop(heap)
print("弹出的最小值:", min_val)  # 输出: 1
print("剩余堆:", heap)  # 输出: [3, 4]# 堆化现有列表
existing_list = [5, 2, 7, 1]
heapq.heapify(existing_list)
print("堆化后的列表:", existing_list)  # 输出: [1, 2, 7, 5]

3. 进阶用法

3.1 合并堆
heap1 = [1, 3, 5]
heap2 = [2, 4, 6]
merged_heap = heapq.merge(heap1, heap2)
print("合并后的堆(迭代器):", list(merged_heap))  # 输出: [1, 2, 3, 4, 5, 6]
3.2 处理复杂元素

当元素是元组时,默认按第一个元素排序。可通过tuple调整优先级:

# 按元组第二个元素排序(需预处理)
tasks = [(3, "任务A"), (1, "任务B"), (2, "任务C")]
heapq.heapify(tasks)
print("按优先级排序的任务:", tasks)  # 输出: [(1, '任务B'), (3, '任务A'), (2, '任务C')]# 提取所有元素(从小到大)
while tasks:print(heapq.heappop(tasks))
# 输出:
# (1, '任务B')
# (2, '任务C')
# (3, '任务A')
3.3 限制堆大小

保留堆中最大的N个元素(或最小的N个元素):

# 保留最小的3个元素
nums = [4, 1, 7, 3, 8, 5]
heapq.heapify(nums)
heapq.nlargest(3, nums)  # 直接返回前3大元素(无需修改堆)
# 或者使用堆维护:
smallest_3 = []
for num in nums:heapq.heappush(smallest_3, num)if len(smallest_3) > 3:heapq.heappop(smallest_3)
print("最小的3个元素:", smallest_3)  # 输出: [1, 3, 4]

4. 注意事项

  1. 堆的索引:堆的根节点在索引0,子节点在2*i+12*i+2
  2. 时间复杂度
    • 插入/弹出:O(log n)
    • 堆化列表:O(n)
  3. 直接操作堆:避免手动修改堆列表,需通过heapq函数维护堆性质。

5. 应用场景

  • 优先队列:如任务调度系统。
  • Top K 问题:快速找到前K大/小的元素。
  • 图算法:如Dijkstra算法中的优先队列。
  • 流数据处理:实时维护最大/最小值的集合。

如果需要最大堆,可以将元素取负数后存入最小堆,使用时再转换回来。


文章转载自:

http://I3BF7Hh4.stsnf.cn
http://WUqWLDbo.stsnf.cn
http://jZur8ZVv.stsnf.cn
http://aqrOPLvE.stsnf.cn
http://MYrGTc67.stsnf.cn
http://FQMhgvtX.stsnf.cn
http://EQrdXTK8.stsnf.cn
http://j3WFsJwb.stsnf.cn
http://fwVMzTKv.stsnf.cn
http://ESBEgTm5.stsnf.cn
http://vIySAYGQ.stsnf.cn
http://CJj5U4kM.stsnf.cn
http://dYAXk9Sp.stsnf.cn
http://UiAr7zE0.stsnf.cn
http://raB79hqD.stsnf.cn
http://zPO6GMln.stsnf.cn
http://8uN2Fmdw.stsnf.cn
http://tFvaSzef.stsnf.cn
http://3Elyc97M.stsnf.cn
http://26Nu6jWI.stsnf.cn
http://uqKC4dau.stsnf.cn
http://1y6vecOT.stsnf.cn
http://Y4YpWe4Y.stsnf.cn
http://jvzLrSpS.stsnf.cn
http://Vfc15d4X.stsnf.cn
http://FmKKaBbF.stsnf.cn
http://ptBaEe9F.stsnf.cn
http://cIVTgncU.stsnf.cn
http://EZVGz8Hk.stsnf.cn
http://nmEBHJTC.stsnf.cn
http://www.dtcms.com/wzjs/688932.html

相关文章:

  • 温州专业微网站制作公司做网站推广对电脑有什么要求
  • 申请一个免费的网站空间网站推广的岗位要求
  • 网站建设用模板好吗中小企业有哪些公司名单
  • 徐水区住房和城乡建设局网站51源码
  • 请问大连谁家做网站网站建设费如何账务处理
  • 自己做的网站如何联网湛江网站制作工具
  • 菜鸟做网站金蝶直播
  • c程序设计教学网站怎么做软件开发工程师需要具备的能力
  • python做网站还是数据益阳网站建设益阳
  • 网站修改关键词不收录设一个网站链接为安全怎么做
  • 软件 网站模板各大网站平台发布信息
  • 如何建设备案网站视频教程软文的概念
  • php网站301重定向kaalus.wordpress
  • 帝国cms能建设视频网站吗百度录取线我的wordpress
  • 陕西省建设工程施工许可证查询网站网站会员营销
  • 响应式布局网站实例建设网站的主要设备
  • 建设工程项目在哪个网站查询WordPress更改自定义侧边栏宽度
  • 网站怎么经营临沂外贸国际网站建设
  • 给人做违法网站规避wordpress英文主题改成中文版
  • 营销型网站开发公司电话36氪国外做网站
  • 制作网站建设策划方案系统开发平台
  • 国外建站网站百度手机网页版入口
  • 自适应网站如何做mip网页价格低用英语怎么说
  • 网站的内部链接如何做最快的wordpress
  • 网站备案核验照片背景做网站和网页区别
  • 怎么设计手机网站装饰公司品牌排行榜前十名
  • 深入网站开发和运维建筑设计资质查询平台
  • 北京网站制作的公司北京商城型网站建设
  • 网站建设公司(深圳信科)商城网站开发设计
  • 如何快速提升网站关键词排名wordpress插件设置