最短路径之Floyd算法
弗洛伊德算法用于无向图,还可以用于解决负权边
package com.zhang.reflection.面试.算法模版.图.最短路径;
public class 弗洛伊德 {
//matrix为距离的二维矩阵,n为节点的个数,节点从1开始计数
private void floyd(int[][] matrix,int n){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
for(int k=1;k<=n;k++){
matrix[j][k]=Math.min(matrix[j][k],matrix[j][i]+matrix[i][k]);
}
}
}
}
}