FLOYD算法

来源:互联网 发布:java语言程序设计基础 编辑:程序博客网 时间:2024/06/06 05:52

图论中的FLOYD算法,同样是动态规划的简单例子

/** *  * @author pc * FLOYD算法 ,n*n的矩阵,对有向图中的边(i,j)长度为l[i][j],若不可达则l[i][j]=9999 * */public class FLOYD {public static void floyd(int[][] map,int n){for(int k=0;k<n;k++){for(int i=0;i<n;i++){for(int j=0;j<n;j++){int temp=map[i][k]+map[k][j];map[i][j]=map[i][j]<temp?map[i][j]:temp;}}}for(int i=0;i<n;i++){for(int j=0;j<n;j++){System.out.print(map[i][j]+" ");}System.out.println();}}public static void main(String args[]){int max=9999;int[][] map={{0,3,max,max},{max,0,4,5},{max,max,0,max},{max,max,max,0}};floyd(map,4);}}


0 0