Bellman ford 最短路径算法

Bellman ford 最短路径算法

 

 

下表记录S到每一个节点的距离:

第一次迭代,

S->A = 4 ,由于S->A眼下为INF。因此更新MIN(S->A)为4

S->B = 6。由于S->B眼下为INF。因此更新MIN(S->B)为6

S->C=INF(表示不可达)

S->D=INF

 

MIN(S->S)

MIN(S->A)

MIN(S->B)

MIN(S->C)

MIN(S->D)

0

4

6

INF

INF

第二次从A開始迭代:

 


 

 

A->C=3。由于S->C眼下为INF,因此更新MIN(S->C)为7

MIN(S->S)

MIN(S->A)

MIN(S->B)

MIN(S->C)

MIN(S->D)

0

4

6

7

INF

第二次从B開始迭代,

 

 


B->A= -5 ,由于S->A=4 S->B=6,因此S->B->A=1 < S->A = 4。故更新MIN(S->A)=1

由于更新了S->A,而A可达点集有C,因此须要对这些可达点集进行递归

MIN(S->C) 此时为7。而MIN(S->A)->C为1+3=4。故须要更新MIN(S->C)=4

B->D = 1。由于MIN(S->D) = INF。故MIN(S->D)需更新为7

MIN(S->S)

MIN(S->A)

MIN(S->B)

MIN(S->C)

MIN(S->D)

0

1

6

4

7

从C点開始迭代:


 


C可达点集仅仅有D,由于MIN(S->D)为7,而MIN(S->C)->D为4+2=6,因此MIN(S->D)须要更新为6

得到最后结果为:

MIN(S->S)

MIN(S->A)

MIN(S->B)

MIN(S->C)

MIN(S->D)

0

1

6

4

6

 

posted on   slgkaifa  阅读(148)  评论(0编辑  收藏  举报

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示