Loading docs/graph/shortest-path.md +1 −1 Original line number Diff line number Diff line Loading @@ -180,7 +180,7 @@ while (!q.empty()) { } ``` SPFA 在随机图上的期望时间复杂度为 $O(kM)~ (k\approx 2)$ ,但最坏情况下的时间复杂度为 $O(NM)$ ,事实上使 SPFA 跑到时间复杂度上限的图非常容易构造,所以考试时谨慎使用(NOI 2018 卡 SPFA)。 虽然在大多数情况下 SPFA 跑得很快,但其最坏情况下的时间复杂度为 $O(NM)$ ,将其卡到这个复杂度也是不难的,所以考试时要谨慎使用(在没有负权边时最好使用 Dijkstra 算法,在有负权边且题目中的图没有特殊性质时,若 SPFA 是标算的一部分,题目不应当给出 Bellman-Ford 算法无法通过的数据范围)。 #### SPFA 的优化之 SLF Loading Loading
docs/graph/shortest-path.md +1 −1 Original line number Diff line number Diff line Loading @@ -180,7 +180,7 @@ while (!q.empty()) { } ``` SPFA 在随机图上的期望时间复杂度为 $O(kM)~ (k\approx 2)$ ,但最坏情况下的时间复杂度为 $O(NM)$ ,事实上使 SPFA 跑到时间复杂度上限的图非常容易构造,所以考试时谨慎使用(NOI 2018 卡 SPFA)。 虽然在大多数情况下 SPFA 跑得很快,但其最坏情况下的时间复杂度为 $O(NM)$ ,将其卡到这个复杂度也是不难的,所以考试时要谨慎使用(在没有负权边时最好使用 Dijkstra 算法,在有负权边且题目中的图没有特殊性质时,若 SPFA 是标算的一部分,题目不应当给出 Bellman-Ford 算法无法通过的数据范围)。 #### SPFA 的优化之 SLF Loading