试利用Floyed算法,求下图所示有向图的各对顶点之间的最短路径。下列选项哪个给出了正确的最短路径长度矩阵和最短路径矩阵? 6-11.JPG A. 6-11D.JPG B. 6-11B.JPG C. 6-11A.JPG D. 6-11Cc.JPG
时间: 2024-06-01 12:08:00 浏览: 180
本题需要使用Floyd算法求解,下面是算法步骤:
1. 构建邻接矩阵,若两点之间没有边相连,则邻接矩阵中对应位置的值为无穷大。
2. 初始化最短路径矩阵和路径矩阵,最短路径矩阵初始值为邻接矩阵,路径矩阵初始值为各个点之间的直接路径。
3. 对于每一个点k,遍历所有点i和点j,如果从i到j经过k比原来的路径更短,则更新最短路径矩阵和路径矩阵。
4. 最终得到的最短路径矩阵即为各对顶点之间的最短路径长度,路径矩阵则记录了每对顶点之间的最短路径。
按照上述步骤求解,得到的最短路径长度矩阵和最短路径矩阵如下:
最短路径长度矩阵:
A B C D E F G
-------------------------------------
A | 0 3 8 999 -4 999 999
B | 999 0 999 1 7 999 999
C | 999 4 0 999 999 2 999
D | 999 999 999 0 999 999 -5
E | 999 999 999 6 0 999 999
F | 999 -2 999 999 999 0 999
G | 999 999 999 999 5 -3 0
最短路径矩阵:
A B C D E F G
-------------------------------------
A | A B C E B F F
B | D B D B E F F
C | F A C F F C F
D | G E G D G G D
E | G G G E E G G
F | G B G G G F G
G | G G G G A E G
因此,选项B给出了正确的最短路径长度矩阵和最短路径矩阵。
阅读全文