Dijkstra算法流程
2016-10-06 21:47:18 0 举报
Dijkstra算法是一种用于解决单源最短路径问题的贪心算法。其基本流程如下: 1. 初始化:将起始节点标记为已访问,将其距离设为0,其他节点的距离设为无穷大。 2. 选择未访问节点中距离最小的节点,标记为当前节点。 3. 更新当前节点的邻近节点的距离:如果通过当前节点到达邻近节点的距离小于已知的邻近节点距离,则更新邻近节点的距离。 4. 标记当前节点为已访问,然后返回第2步,直到所有节点都被访问过。 5. 最终得到从起始节点到其他所有节点的最短距离。 Dijkstra算法的时间复杂度为O(n^2),其中n是节点的数量。
作者其他创作
大纲/内容
A
AC
∞
0
5
2
dist数组:记录最短距离
ACDF
D
Dijkstra算法执行过程两个数组的变化
7
E
原图
6
ACE
ACB
3
ACD
F
求A到其他点的最短距离
AB
Path数组:记录最短路径
红色:表示每次选取的出发点,从改点出发更新其他距离
C
4
B
9
收藏
收藏
0 条评论
下一页