多源最短路径floyd_warshall算法

多源最短路径floyd_warshall算法
d[i][j]保存边<i,j>的权。
如果边<i,j>不存在,则置d[i][j]为INF。
#include<cstdio>
const int MAX=10000; const int INF=1000000; int d[MAX][MAX]; int floyd (int n) { for(int k =1 ; k <= n; k++) { for(int i = 1; i <= n; i++) { for(int j = 1; j <= n; j++) { if(d[i][k] + d[k][j] < d[i][j]) d[i][j] = d[i][k] + d[k][j]; } } }
        return 0; } int main() { return 0; } floyd后,如果d[i][j]>=INF,则点i到点j没有路。
else点i到点j的最短路径长度为d[i][j]。

你可能感兴趣的:(多源最短路径floyd_warshall算法)