Floyd算法求解各个顶点的最短距离
程序员文章站
2024-03-16 14:09:40
...
1、问题
用Floyd算法求解下图各个顶点的最短距离,写出Floyd算法的伪代码和给出距离矩阵(顶点之间的最短距离矩阵)。
2、解析
Floyd算法是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法。通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。
3、设计
//Floyd核心语句
for (k = 1; k <= n; k++)
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
if (e[i][j] > e[i][k] + e[k][j]) {
e[i][j] = e[i][k] + e[k][j];
}
4、分析
空间复杂度为O(n^2)
时间复杂度为O(n^3)