Floyd·三重循环

10 分钟

Floyd 只有简洁的三重循环:for k … for i … for j: d[i][j]=min(d[i][j], d[i][k]+d[k][j]);。含义是“允许用前 k 个点做中转”。注意 k 必须在最外层。总复杂度 O(n³)。

小纸条

Floyd 三重循环里,代表“中转点”的循环变量放在第几层?

登录 后可看答案

Floyd·三重循环 · 算法进阶 · op599 课程