- 适用范围:无负权回路即可,边权可正可负,运行一次算法即可求得任意两点间最短路
- 时间复杂度:O(n^3)
定义dp[i][j]:i到j的最短路径,则在初始化dp的原图数据后,核心代码就这么短
void Floyd() //用来寻找任意两点间的最短路径 (无向图) { for(int k=1;k<=n;k++) { for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { dp[i][j]=min(dp[i][j],dp[i][k]+dp[k][j]); } } } }