单源最短路径(算法导论24章)
来源:互联网 发布:手机excel软件下载 编辑:程序博客网 时间:2024/05/20 05:55
最短路径算法通常依赖最短路径的一个重要性质:两个结点之间的最短路径包含其他的最短路径。
最优子结构(动态规划和贪心算法指标):最短路径的子路径也是最短路径。
初始化操作(v.π=NIL,s.d=0,除s外v.d=∞):
INITIALIZE-SINGLE-SOURCE(G,s) for each vertex v∈G.V v.d=∞ v.π=NIL s.d=0
对边(u,v)松弛操作(将s到u之间的最短距离加上w(u,v),并与当前s到v的最短距离比较更新):
RELAX(u,v,w) if v.d>u.d+w(u,v) v.d=u.d+w(u,v) v.π=u
Bellman-Ford算法(贝尔曼-福特算法)反复松弛:
BELLMAN-FORD(G,w,s) INITIALIZE-SINGLE-SOURCE(G,s) for i=1 to |G.V|-1 for each edge∈G.E RELAX(u,v,w)for each edge(u,v)∈G.E if v.d>u.d+w(u,v) return FALSEreturn TRUE
Dijkstra算法(迪杰斯特拉算法):
在算法的运行过程中维持一组结点集合S。从源结点s到该集合中每个结点之间的最短路径都已经被找到。从V-S集合中选择最短路径估计最小的结点u,将u加入S,然后对所有从u发出的边进行松弛。我们使用一个最小优先队列Q来保存结点集合,每个节点的关键值为其d值。
DIJKSTRA.(G,w,s) INITIALIZE-SINGLE-SOURCE(G,s) S=∅ Q=G.V while Q≠∅ u=EXTRACT-MIN(Q) S=S{u} for each vertex v∈G.Adj[u] RELAX(u,v,w)
0 0
- 单源最短路径(算法导论24章)
- 算法导论 - 第24章 单源最短路径
- 算法导论第24章 单源最短路径
- 《算法导论》第24章 单源最短路径
- 算法导论 | 第24章 单源最短路径
- 算法导论 第24章 单源最短路径
- 算法导论24(单源最短路径)
- 算法导论-第24章- 单源最短路径 - 24.3 Dijkstra 算法
- 算法导论 单源最短路径
- 《算法导论》笔记 第24章 24.1 单源最短路径
- 算法导论笔记:24单源最短路径
- 算法导论 第二十四章:单源最短路径
- 算法导论 第二十四章 单源最短路径
- 算法导论 ch24 单源最短路径
- 【算法导论笔记】单源最短路径
- 算法导论之单源最短路径
- 算法导论 单源最短路径 Dijkstra
- [算法导论读书笔记]Bellman-Ford算法(单源最短路径)
- 个人笔记(Oracle)—02
- 欧拉回路及欧拉路的判断
- 线性表 顺序存储 链式存储 ---java实现
- scalable high performance main memory system Using PCM Technology
- hd 2021 发工资咯:)
- 单源最短路径(算法导论24章)
- linux下乱码问题总结
- 自己写配置文件
- 不阻止我们与全球检查
- hdu 4907 Task schedule
- destoon栏目首页加页码
- OpenCv基础学习笔记之一[types_c.h][cvPoint]
- mantle学习
- HDU 1556 Color the ball