Floyd全源最短路径算法

时间复杂度:O(V的3次方)【V为顶点数】

存储方法:本例采用的是邻接矩阵存储方法

代码如下:

void Floyd() {
	for (int i = 0; i < vertex; i++) {
		dis[i][i] = 0;//顶点i到i的距离初始化为0
	}
	for (int k = 0; k < vertex; k++) {
		for (int u = 0; u < vertex; u++) {
			for (int v = 0; v < vertex; v++) {
				if (dis[u][k] != INF && dis[k][v] != INF && dis[u][k]+dis[k][v]<dis[u][v]) {
					dis[u][v] = dis[u][k] + dis[k][v];//找到更短的路径
				}
			}
		}
	}
}

猜你喜欢

转载自blog.csdn.net/qq_39034748/article/details/81026353
今日推荐