新客立减

开始

定义全局变量

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

算法的流程图