欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Floyd算法求解各个顶点的最短距离

程序员文章站 2024-03-16 14:09:40
...

1、问题

用Floyd算法求解下图各个顶点的最短距离,写出Floyd算法的伪代码和给出距离矩阵(顶点之间的最短距离矩阵)。
Floyd算法求解各个顶点的最短距离

2、解析

Floyd算法是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法。通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。
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)