在带权有向图G中,求G中的任意一对顶点间的最短路径问题,也是十分常见的一种问题,而另一种算法是由弗洛伊德提出的,时间复杂度同样是O,但算法的形式简单很多,在本题中,读入一个有向图的带权邻接矩阵,建立有向图并按照以上描述中的算法求出每一对顶点间的最短路径长度。
在带权有向图G中,求G中的任意一对顶点间的最短路径问题,也是十分常见的一种问题。 解决这个问题的一个方法是执行n次迪杰斯特拉算法,这样就可以求出每一对顶点间的最短路径,执行的时间复杂度为O(n3)。 而另一种算法是由弗洛伊德提出的,时间复杂度同样是O(n3),但算法的形式简单很多。 可以将弗洛伊德算法描述如下: 在本题中,读入一个有向图的带权邻接矩阵(即数组表示),建立有向图并按照以上描述中的算法求出每一对顶点间的最短路径长度。

(图片来源网络,侵删)