排序 查詢 樹 圖 的時間複雜度
阿新 • • 發佈:2018-12-25
查詢演算法 | 時間複雜度 | |
順序查詢 | O(n) | 演算法簡單,適應面廣,穩定演算法 |
折半查詢 | O(log2n) | 針對有序的序列表,不穩定 |
分塊查詢 | 介於順序查詢和折半查詢之間 | 針對有序表,不穩定演算法 |
平衡二叉樹查詢 | O(log2n) | 插入與刪除的複雜度也相同 |
排序法 |
平均時間 |
最差情形 |
穩定度 |
額外空間 |
|
---|---|---|---|---|---|
冒泡 |
O(n2) |
O(n2) | 穩定 |
O(1) |
n小時較好 |
交換 | O(n2) | O(n2) | 不穩定 | O(1) |
n小時較好 |
選擇 |
O(n2) |
O(n2) |
不穩定 | O(1) |
n小時較好 |
插入 | O(n2) |
O(n2) |
穩定 | O(1) | 大部分已排序時較好 |
Shell |
O(nlogn) |
O(ns)1<s<2 |
不穩定 | O(1) | s是所選分組 |
快速 | O(nlogn) |
O(n2) |
不穩定 | O(nlogn) |
n大時較好 |
歸併 | O(nlogn) |
O(nlogn) |
穩定 | O(1) | n大時較好 |
堆 | O(nlogn) |
O(nlogn) |
不穩定 | O(1) | n大時較好 |
基數 | O(logRB) |
O(nlogRB) |
穩定 | O(n) | B是真數(0-9),R是基數(個十百) |
樹圖 |
時間複雜度 |
克魯斯卡爾 | O(eloge) |
普里姆 | O(n2) |
迪傑斯特拉 | O(n2) |
拓撲排序 | O(n+e) |
關鍵路徑 |
O(n+e) |