当前位置:
首页 >
最短路弗洛伊德(Floyd)算法加保存路径
发布时间:2023/12/4
35
豆豆
生活随笔
收集整理的这篇文章主要介绍了
最短路弗洛伊德(Floyd)算法加保存路径
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
弗洛伊德算法大致有点像dp的推导
dp[i][j] = min(dp[i][k] + dp[k][j], dp[i][j]),
其中 i 是起始点,j 是终止点。k是它们经过的中途点。
通过这个公式不断地更新dp[i][j],得到最短路径长。
我们先定义两个矩阵,minpath[i][j],表示的是从 i 到 j 当前得到的最短路,
road[i][j] = k.表示的是从 i 到 j 点要经过的点是 k 然后不断更新road[k][j],
直到k == j。
这个可以适用与有向图和无向图,就看你minpath[i][j] 怎么初始化了,
最后运行情况,加上了路径的输出。
说明一下我上面的代码并不是这道题目的正解,就算上面的代码除去我的路径输出也是错的,
题目的n到了1e4,而这种方法最多就是处理一两百的数据,
这里就是为了方便举个例子。
总结
以上是生活随笔为你收集整理的最短路弗洛伊德(Floyd)算法加保存路径的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 短梗五加的功效与作用、禁忌和食用方法
- 下一篇: 并查集板子加例题