1.题目实例
对于下图所示的带权有向图,求从顶点V0到其余各个顶点的最短路径,给出过程。
2.规范步骤
求解过程如下表所示:
已并入结点 | 未并入结点 | dist[] | path[] | ||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 0 | 1 | 2 | 3 | 4 | 5 | ||
V0 | V1,V2,V3,V4,V5 | ∞ | ∞ | 10 | ∞ | 30 | 100 | -1 | -1 | 0 | -1 | 0 | 0 |
V0,V2 | V1,V3,V4,V5 | ∞ | 50 | 10 | 60 | 30 | 100 | -1 | 2 | 0 | 2 | 0 | 0 |
V0,V2,V4 | V1,V3,V5 | ∞ | 50 | 10 | 60 | 30 | 95 | -1 | 2 | 0 | 2 | 0 | 4 |
V0,V1,V2,V4 | V3,V5 | ∞ | 50 | 10 | 60 | 30 | 95 | -1 | 2 | 0 | 2 | 0 | 4 |
V0,V1,V2,V3,V4 | V5 | ∞ | 50 | 10 | 60 | 30 | 90 | -1 | 2 | 0 | 2 | 0 | 3 |
V0,V1,V2,V3,V4,V5 | ∞ | 50 | 10 | 60 | 30 | 90 | -1 | 2 | 0 | 2 | 0 | 3 |
由上表可知,所求结果如下:
V1:最短路径为V0-V2-V1,距离为50;
V2:最短路径为V0-V2,距离为10;
V3:最短路径为V0-V2-V3,距离为60;
V4:最短路径为V0-V4,距离为30;
V5:最短路径为V0-V2-V3-V5,距离为90。