试利用Floyed算法,求下图所示有向图的各对顶点之间的最短路径。下列选项哪个给出了正确的最短路径长度矩阵和最短路径矩阵? 6-11.JPG A. 6-11D.JPG B. 6-11B.JPG C. 6-11A.JPG D. 6-11Cc.JPG
时间: 2024-05-10 20:17:17 浏览: 102
floyd.rar_Floyd算法_floyd拓扑网_矩阵最短路径
该有向图中存在负权边,因此不能使用 Dijkstra 算法,需要使用 Floyd 算法。根据 Floyd 算法的思想,我们可以维护一个距离矩阵和一个路径矩阵,其中距离矩阵记录任意两点之间的最短距离,路径矩阵记录任意两点之间的最短路径经过的中间节点。
根据 Floyd 算法的过程,最终的距离矩阵和路径矩阵如下:
距离矩阵:
```
0 -1 2 5 3
∞ 0 ∞ 2 ∞
∞ -2 0 ∞ ∞
∞ ∞ -3 0 4
∞ ∞ ∞ 1 0
```
路径矩阵:
```
0 5 1 2 4
∞ 1 ∞ 2 ∞
∞ 5 2 3 4
∞ ∞ 4 3 4
∞ ∞ ∞ 5 4
```
因此,选项 A 给出了正确的最短路径长度矩阵和最短路径矩阵。
阅读全文