图论算法的基本概念/松弛操作/最短路径估计
ref
- 算法导论
松弛操作:(relax)
初始化操作
-
记 v . π 表示结点 v 的前驱结点 记v.\pi表示结点v的前驱结点 记v.π表示结点v的前驱结点
-
在通常情况下,我们不但希望计算出最短路径权重,还希望计算出最短路径上的结点。我们对最短路径的表示与对广度优先搜索树的表示类似。
-
给定图G=(V,E),对于每个结点,我们维持一个前驱结点 v . π v.\pi v.π该前驱结点可能是另一个结点或者NIL。
-
最短路径算法可对每个结点的 π \pi π属性进行设置,这样,将从结点v开始的前驱结点链反转过来,就是从s到v的一条最短路径。
-
-
但是也可以用其他方式得到路径,比如设立额外的数组Path,来记录前驱结点
最短路径估计v.d
- 对于每个结点v来说,维持属性v.d用来记录从源顶点s到顶点v的最短路径权重的上界
- 并且称,v.d为s到v的最短路径估计
松弛操作(Relax)
- 根据情况修改最短路径估计v.d
- 如果发生修改,则更新前驱
- 如果发生修改,则更新前驱
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」