[Dijkstra单源最短路径算法]算法思想速成
2013-12-31 00:25
337 查看
条件:
1、选定的V0节点
2、邻接矩阵
准备:
1、dist
数组:用于记录从V0到Vi的当前最短路径,初始值为邻接矩阵的第0行(也就是V0到各点的直接距离)
2、path
数组:用于记录V0到Vi的前一个节点,这样最后可以通过这个得出V0到每个节点的路径,初始值,如果dist[i]!=-1则为0,dist[i]==-1则为-1
算法思想:
1、设定当前定点集只有V0
2、从dist
中找到最短的一条路径,指向Vi
3、将Vi归入当前定点集合,并且更新dist
和path
将V0直接到其他节点的长度,和V0通过Vi到其他节点的长度进行比较,如果发现后者更短,则
更新dist
修改为更短的距离
更新path
,修改为Vi
大体上就是这样,不断将新的点纳入,不断更新路径,直到把所有点都纳入
最后附上一张图片,但愿看得懂=v=
1、选定的V0节点
2、邻接矩阵
准备:
1、dist
数组:用于记录从V0到Vi的当前最短路径,初始值为邻接矩阵的第0行(也就是V0到各点的直接距离)
2、path
数组:用于记录V0到Vi的前一个节点,这样最后可以通过这个得出V0到每个节点的路径,初始值,如果dist[i]!=-1则为0,dist[i]==-1则为-1
算法思想:
1、设定当前定点集只有V0
2、从dist
中找到最短的一条路径,指向Vi
3、将Vi归入当前定点集合,并且更新dist
和path
将V0直接到其他节点的长度,和V0通过Vi到其他节点的长度进行比较,如果发现后者更短,则
更新dist
修改为更短的距离
更新path
,修改为Vi
大体上就是这样,不断将新的点纳入,不断更新路径,直到把所有点都纳入
最后附上一张图片,但愿看得懂=v=
相关文章推荐
- dijkstra算法求单源最短路径
- Dijkstra求单源最短路径(图论基础算法)
- Dijkstra算法求单源最短路径
- 图论;单源最短路径;拓扑排序+松弛(有向无回路);Bellman-Ford(回路,负权回路)Dijkstra(无负权,可回路);可以用最小堆实现算法的优化;
- 算法学习笔记——Dijkstra单源最短路径算法
- 单源最短路径(1):Dijkstra 算法
- 单源最短路径的Dijkstra 算法
- 【经典算法】Dijkstra单源最短路径算法
- Dijkstra算法求单源最短路径
- Dijkstra单源最短路径算法; 优先队列+静态数组邻接表; STL优先队列还是没想明白排序原则;
- Dijkstra算法求单源最短路径(二)(BFS的改版)
- Dijkstra算法求单源最短路径
- Dijkstra算法求解单源最短路径
- 数据结构与算法--单源最短路径算法之dijkstra
- 迪杰斯特拉(Dijkstra)算法求解单源最短路径及其相应长度(java实现)
- 贪心算法之最小生成树prim与单源最短路径dijkstra
- 贪心算法 Dijkstra 单源最短路径
- Dijkstra单源最短路径算法
- 单源最短路径算法模板(Dijkstra+BellmanFrod)
- 贪心算法 - 单源最短路径 Dijkstra