开始
定义全局变量
dist[N]
,
v0,cost[N][N]
初始化变量
final[N],i,v,w,
min,k
K=0
K<N
V=0
V<N
final[v] =
false;dist[v] =
cost[v0][v];
Y
final[v0] =
true
N
i=0
i<N-1
初始最短长度无
穷大
W=0
W<N
!final[w] &&
dist[w] < min
Min =
dist[w]
v = w;
Y
Y
Y
W++
加入新边
final[v] =
true
W=0
W<N
!final[w] &&
dist[v] +
cost[v][w] <
dist[w]
dist[w] =
dist[v] +
cost[v][w];
Y
W++
N
i=0
i<N-1
i<N-1
输出
dist[i]
v0++;
Y
return 0;
N
Y
N
N
I++
N
K++;
N
I++
END
Dijkstra
算法的流程图