Floyd算法——写给自己(粗略)

  1. 代码转载而来,侵删
  2. 依次扫描每一点(k),并以该点作为中介点,计算出通过k点的其他任意两点(i,j)的最短距离,这就是floyd算法的精髓
  3. void floyd(){  
        for(int k = 0;k < vertexnum;k++)  
            for(int i= 0;i < vertexnum;i++)  
                for(int j = 0;j < vertexnum;j++){  
                    if(weight[i][k] + weight[k][j] < weight[i][j]){  
                        weight[i][j] = weight[i][k] + weight[k][j];  
                        path[i][j] = path[k][j];  
                    }  
                }  
    } 
    以后再来完善

你可能感兴趣的:(ACM,算法)