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

最短路径 - Dijkstra(堆优化)中优先队列的懒删除如何理解?

什么是懒删除?

在Dijkstra算法中,同一个节点可能被多次加入优先队列,但只有最短的那次才是有效的。懒删除就是"推迟删除",直到真正从队列中取出时再判断是否有效。

举个例子理解

假设有这样一个图:

A --2--> B
A --5--> C
B --1--> C

执行过程:

  1. 初始

    • dist[A] = 0, dist[B] = ∞, dist[C] = ∞
    • 队列:[A(0)]
  2. 处理A

    • 更新B:dist[B] = 0+2=2,B(2)入队
    • 更新C:dist[C] = 0+5=5,C(5)入队
    • 队列:[B(2), C(5)]
  3. 处理B

    • 更新C:通过B到C:2+1=3 < 5
    • dist[C] = 3,C(3)入队
    • 队列:[C(5), C(3)] ← 同一个节点C在队列中出现两次
  4. 现在队列中有两个C

    • C(5) - 旧的,过时的
    • C(3) - 新的,更短的

懒删除的工作原理

while (!pq.isEmpty()) {int[] cur = pq.poll();  // 1. 从队列取出int u = cur[0], d = cur[1];// 2. 关键检查:如果取出的距离 > 当前记录的最短距离if (d > dist[u]) {continue;  // 跳过这个过时的记录}// 3. 只有这个距离 <= 记录的最短距离,才处理for (Edge e : graph[u]) {// ... 更新邻居}
}
http://www.zskr.cn/news/79845.html

相关文章:

  • 2025年12月注浆工程厂家推荐:安徽林固,道路注浆、空鼓注浆、公路注浆、路基注浆、地基注浆、厂房注浆、地坪注浆、矿山注浆、多场景注浆解决方案服务商
  • 解码生命蓝图,预见健康未来:北京守嘉健康基因检测业务介绍
  • day30-AgentRag应用开发
  • 116.Java深入学习之JVM二
  • 【纯干货分享】计算机毕业设计必看必学(springboot二手车租赁管理专业的系统)原创的定制软件,java、PHP、python、C#小程序、文案全套、毕设程序定制/毕设成品等等.
  • 开放式互联互通的路上,希望畅联云越走越顺
  • 吴恩达深度学习课程四:计算机视觉 第一周:卷积基础知识(二)卷积参数
  • 2025年法式高端家具TOP10榜(东莞深圳广州惠州专向版)
  • 2025年唐老狮:游戏开发教学领域的深度解析与行业影响力权威评估报告
  • 为什么会诞生流形的概念?
  • 2025年12月多光谱相机厂家推荐,多光谱成像仪、高光谱成像系统、小型多光谱相机、微型多光谱相机、机载多光谱相机、便携多光谱相机、聚焦遥感测绘领域专业解决方案
  • 2025年12月丝杆升降机标杆厂家最新推荐:德州德特机械,螺旋升降机、sjb螺旋升降机、zimm螺旋升降机、SJA螺旋升降机、联动丝杆升降机、螺旋丝杆升降机、专注精密传动新标准
  • 2025年唐老狮全面盘点:游戏开发课的行业积淀与服务价值
  • Thinkphp---配置路由访问控制器
  • 2025年唐老狮深度解析:游戏开发课的实效教学逻辑
  • day29-RAG实操
  • 2025年12月安检门厂家推荐:广东中安技术,手机安检门、贵金属安检门、探铜安检门、高精度安检门、半导体芯片安检门、多场景精准安检解决方案领航者
  • 2025短片产业“效率革命”,AI如何让编剧摆脱“无效内卷”?
  • day15-影刀对接Coze实现微信自动回复
  • 2025年热门的240KW充电桩/新能源充电桩厂家最新权威推荐排行榜
  • LMCache:基于KV缓存复用的LLM推理优化方案
  • 2025年12月冲床静音房厂家最新推荐:常州双静环保,设备静音房、测试静音房、冲床隔音房、设备隔音房、测试隔音房、解决方案新标准
  • 2025年12月塑胶跑道标杆厂家最新推荐:湖北中奥特,复合型塑胶跑道、透气型塑胶跑道、自结纹塑胶跑道、老国标塑胶跑道、全塑型塑胶跑道、施工维护一体化服务新标准
  • ee
  • 2025年12月北京园林景观公司标杆推荐:北京缘晟源,园林景观绿化养护、庭院绿化、覆盖京津冀多场景绿化服务
  • 2025年比较好的除湿机品牌高评价厂家推荐榜
  • Python 知识讲解 + 示例代码 + 讲解
  • 2025实用AI洗头机品牌推荐榜:仪美天引领智能洗护,各大品牌各展所长
  • 2025年口碑好的全屋定制衣柜灯厂家最新实力排行
  • 计算机硬件基础知识 - Invinc