Unverified Commit 391353cd authored by Shuhao Zhang's avatar Shuhao Zhang Committed by GitHub
Browse files

✏️ edit time complexity of some algorithms

parent 37f5cbf5
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -222,15 +222,15 @@ IPA:/ˈdikstrɑ/或/ˈdɛikstrɑ/。

如果用暴力: $O(n^2 + m) = O(n^2)$ 。

如果用堆 $O((n+m) \log n)$ 。
如果用堆 $O(m \log n)$ 。

如果用 priority_queue: $O((n+m) \log m)$ 。
如果用 priority_queue: $O(m \log m)$ 。

(注:如果使用 priority_queue,无法删除某一个旧的结点,只能插入一个权值更小的编号相同结点,这样操作导致堆中元素是 $O(m)$ 的)

如果用线段树(ZKW 线段树): $O(m \log n + n) = O(m \log n)$ 

如果用 Fibonacci 堆: $O(n \log n + m) = O(n \log n)$ (这就是为啥优秀了)。
如果用 Fibonacci 堆: $O(n \log n + m)$ (这就是为啥优秀了)。

等等,还没说正确性呢!

@@ -329,7 +329,7 @@ Johnson 算法则通过另外一种方法来给每条边重新标注边权。
## 不同方法的比较

| Floyd      | Bellman-Ford | Dijkstra           | Johnson                  |
| ---------- | --------------- | -------------- | --------------- |
| ---------- | ------------ | ------------------ | ------------------------ |
| 每对结点之间的最短路 | 单源最短路        | 单源最短路              | 每对结点之间的最短路               |
| 没有负环的图     | 任意图(可以判定负环是否存在) | 非负权图               | 没有负环的图                   |
|  $O(N^3)$  |  $O(NM)$     |  $O(M\log M)$  |  $O(NM\log M)$  |