加载中...

弗洛伊德算法(floyd)

实现特点:“3个for”

public void floyd() {
	for (int k = 0; k < vertexs.length; k++) {//这个 for 用来取中间节点,剩下的两个 for 用来遍历邻接矩阵
		for (int i = 0; i < vertexs.length; i++) {
			for (int j = 0; j < vertexs.length; j++) {
				if (dis[i][k] + dis[k][j] < dis[i][j]) {
					dis[i][j] = dis[i][k] + dis[k][j];
				}
			}
		}
	}
}
posted @ 2023-03-05 16:27  ChuenSan  阅读(12)  评论(0编辑  收藏  举报