算法 | 時間複雜度 | 空間複雜度 | 說明 |
---|---|---|---|
Hanoi | $ O(2^n) $ | $ O(n) $ | 遞歸使用 |
會場安排問題 | \(O(nlogn)\) | \(O(n)\) | 貪心 |
哈夫曼樹編碼 | \(O(nlogn)\) | \[O(n)\] | 貪心 \[O(n^2) \](未採用特殊數據結構) |
dijkstra | \(O(n^2)\) | \(O(n)\) | 單源最短路徑問題,貪心 |
Prim | \(O(n^2)\) | \(O(n)\) | 最小生成樹 |
Kruskal | \[O(eloge)\] | \(O(e)\) | 最小生成樹 |
大整數乘法(四次) | \(O(n^2)\) | \(O(log_2n)\) | 分治 |
大整數乘法(三次) | \(O(n^{log_23})\) | \(O(log_2n)\) | 分治 |
二分查找(遞歸) | \(O(log_2n)\) | \(O(log_2n)\) | 分治 |
二分查找(非遞歸) | \(O(log_2n)\) | \(O(1)\) | 分治 |
循環日程表 | \(O(n^2)\) | \(O(log_2n)\) | 分治 |
歸併排序 | \[O(nlog_2n)\] | \(O(n)\) | 分治 |
快速排序 | \[O(nlog_2n)\] | \(O(n)\) | 分治 |
棋盤覆蓋問題 | \[O(4^k)\] | \[ O(k)\] | 分治 |
Fibonacci(遞歸) | \[ O({1.628}^n) \] | \(O(n)\) | 動態規劃 |
Fibonacci(非遞歸) | \(O(n)\) | \(O(n)\) | 動態規劃 |
最長公共子序列(非遞歸) | \(O(mn)-O(n^2)\) | \(O(mn)-O(n^2)\) | 動態規劃 |
最長公共子序列(遞歸) | \(O(2^{min(m,n)})\) | \(O(min(m,n))\) | 動態規劃 |
矩陣連乘(遞歸) | \(O(2^n)\) | \(O(n^2)\) | 動態規劃 |
矩陣連乘(DP) | \(O(n^3)\) | \(O(n^2)\) | 動態規劃 |
0-1揹包(DP) | \(O(nw)->O(n2^n)\) | \(O(nw)\) | 動態規劃 |
0-1揹包(貪心) | \(O(nlog_2n)\) | \(O(n)\) | 貪心法 |
DFS | \[O(|V|+|E|)\] | 搜索法 | |
BFS | \[O(|V|+|E|)\] | 搜索法 | |
子集樹遞歸回溯 | \(O(2^n)\) | 搜索法 | |
排列樹遞歸回溯 | \(O(n!)\) | 搜索法 | |
滿m叉樹遞歸回溯 | \(O(m^n)\) | 搜索法 | |
n皇后滿m叉樹 | \(O(nm^n)\) | \(O(n^n)\) | 搜索法 |
n皇后排列樹 | \(O(n^2(n-1)!)\) | \(O(n!)\) | 搜索法 |
0-1揹包回溯法 | \(O(n2^n)\) | \(O(2^n)\) | 搜索法 |
最大團問題 | \(O(n2^n)\) | \(O(2^n)\) | 搜索法 |
旅行商問題TSP | \(O(n!)\) | \(O(n!)\) | 搜索法 |
圖的m着色GCP | \(O(nm^n)\) | \(O(m^n)\) | 搜索法 |
隊列式0-1揹包 | \[O(n2^n)\] | \(O(2^n)\) | 搜索法 |
優先隊列0-1揹包 | \(O(n2^n)\) | \(O(2^n)\) | 搜索法 |
隊列式旅行商 | \(O(n!)\) | \(O(n!)\) | 搜索法 |
優先隊列式旅行商 | \(O(n!)\) | \(O(n!)\) | 搜索法 |
佈線問題 隊列式 | \(O(nm)\) | \(O(nm)\) | 搜索法 |