标签:
flyod算法:
对于起点与终点,引入第三点p,d[s][t]=min(d[s][t],d[s][p]+d[p][t]);
代码://k为引入点
1 for(int i=0;i<=n;i++) 2 for(int j=0;j<=n;j++) 3 if(i==j)d[i][j]=0; 4 else d[i][j]=1e9;//边的初始化, 5 6 7 8 for(int k=0;k<n;k++) // 9 for(int i=0;i<n;i++) // 10 for(int j=0;j<n;j++) // 11 d[i][j]=min(d[i][j],d[i][k]+d[k][j]);//flyod核心算法,就四行
spfa算法:
dij算法:
标签:
原文地址:http://www.cnblogs.com/weeping/p/5398227.html