Floyd·中转直觉

10 分钟

为什么 k 要在最外层?因为 d[i][j] 的含义是“只允许经过编号 ≤k 的点做中转时的最短路”。每加入一个新中转点 k,就用“i 到 k”接“k 到 j”去更新所有点对,逐层放开中转集合,最终得到全局最短路。

小纸条

Floyd 中把 k 放在内层循环会有什么问题?

登录 后可看答案

Floyd·中转直觉 · 算法进阶 · op599 课程