Dijkstra算法的个人理解
来源:互联网 发布:mac os sierra beta4 编辑:程序博客网 时间:2024/04/25 23:42
数据结构书上对Dijkstra算法的解释已经比较详细了,下面结合实例说说我个人的理解。作为备忘录,也给需要的朋友以参考。
假设有向图为:
其邻接矩阵为:
123451∞10∞
∞
52∞
∞
1∞
23∞
∞
∞
4∞
47∞
6∞
∞
5∞
392∞
以下为Dijkstra算法的执行步骤:
1)S = {1} //集合S 保存已求得最短路径的顶点,初始值为1
dist[2] = 10 //遍历第1行,dist[2] 保存从原点到点2的最短距离
dist[5] = 5 //遍历第1行,dist[5] 保存从原点到点5的最短距离
2)Vj = V5
S = {1, 5}
3)dist[2] = 5 + 3 = 8 < 10 //遍历第5行,修改到点2的最短距离
dist[3] = 5 + 9 = 14 //遍历第5行
dist[4] = 5 + 2 = 7 //遍历第5行
4)Vj = V4
S = {1, 5, 4}
5)dist[2] = 5 + 3 = 8 //遍历第4行
dist[3] = 5 + 2 + 6 = 13 < 14 //遍历第4行
6)Vj = V2
S = {1, 5, 4, 2}
7)dist[3] = 5 + 3 + 1 = 9 < 13 //遍历第2行
8)Vj = V3
S = {1, 5, 4, 2, 3}
执行结束,数组 dist[] 保存的即是从原点到各点的最短距离。
- Dijkstra算法的个人理解
- 关于Dijkstra算法的个人理解
- Dijkstra 迪杰斯特拉算法的理解
- 关于dijkstra算法的个人总结
- dijkstra算法个人分析
- 对Dijkstra算法原理的一些理解
- GMM算法的个人理解
- KMP算法的个人理解
- BM算法的个人理解
- KNN算法的个人理解
- kmeans算法的个人理解
- floyd 算法的个人理解
- SIFT算法的个人理解
- KMP算法的个人理解
- 遗传算法的个人理解
- 排序算法的个人理解
- dijkstra 算法理解
- 关于KMP算法的一点个人理解
- assert() 宏用法
- 0.driverbase-WDM和NT驱动
- java学习02-java基础知识、基本数据类型、运算符
- [Android开发实战]金山清理大师(猎豹清理大师)一键加速快捷方式动画实现
- ACE_Task介绍(生产者/消费者)v3.0
- Dijkstra算法的个人理解
- Qt实现监听功能
- PokerGame
- WPF之布局控件
- ZOJ 3735 Josephina and RPG DP
- 编码问题
- Java 扑克游戏
- x210v3 lcd驱动参数
- 《计算机文化》5.局域网和无线局域网