常用的排序演算法和時間複雜度
1. 資料結構部分
資料結構中常用的操作的效率表
通用資料結構 | 查詢 | 插入 | 刪除 | 遍歷 |
O(N) | O(1) | O(N) | — | |
O(logN) | O(N) | O(N) | O(N) | |
O(N) | O(1) | O(N) | — | |
有序連結串列 | O(N) | O(N) | O(N) | O(N) |
O(logN) | O(logN) | O(logN) | O(N) | |
二叉樹(最壞) | O(N) | O(N) | O(N) | O(N) |
O(logN) | O(logN) | O(logN) | O(N) | |
O(logN) | O(logN) | O(logN) | O(N) | |
O(1) | O(1) | O(1) | — | |
專用資料結構 |
|
|
|
|
— | O(1) | O(1) | — | |
— | O(1) | O(1) | — | |
優先順序佇列 | — | O(N) | O(1) | — |
— | O(logN) | O(logN) |
|
2. 排序演算法
常見的排序演算法比較表
排序 | 平均情況 | 最好情況 | 最壞情況 | 穩定與否 | 空間複雜度 |
O(N2) | O(N) | O(N2) | 穩定 | 1 | |
O(N2) | O(N2) | O(N2) | 不穩定 | 1 | |
O(N2) | O(N) | O(N2) | 穩定 | 1 | |
O(NlogN) | (依賴於增量序列) | 不穩定 | 1 | ||
O(NlogN) | O(NlogN) | O(N2) | 不穩定 | O(logN) | |
O(NlogN) | O(NlogN) | O(NlogN) | 穩定 | O(N) | |
O(NlogN) | O(NlogN) | O(N2) | 穩定 | O(N) | |
O(NlogN) | O(NlogN) | O(NlogN) | 不穩定 | 1 | |
O(N+E) | — | — | — | O(N) |
相關文章
- 排序演算法:堆排序的實現和時間複雜度分析排序演算法時間複雜度
- 時間複雜度和空間複雜度時間複雜度
- 時間複雜度O(n)和空間複雜度時間複雜度
- 時間複雜度和空間複雜度 順序時間複雜度
- 常用的時間複雜度分析方法時間複雜度
- 時間複雜度為O(nlogn)的排序演算法時間複雜度排序演算法
- 時間複雜度為 O (n^2) 的排序演算法時間複雜度排序演算法
- 時間複雜度為 O(nlogn) 的排序演算法時間複雜度排序演算法
- 時間複雜度為 O(n^2) 的排序演算法時間複雜度排序演算法
- 122 演算法的時間複雜度和空間複雜度詳解演算法時間複雜度
- PHP 演算法基礎----時間複雜度和空間複雜度(轉載)PHP演算法時間複雜度
- 演算法的時間複雜度演算法時間複雜度
- 氣泡排序時間複雜度分析排序時間複雜度
- 時間複雜度跟空間複雜度時間複雜度
- 時間複雜度與空間複雜度時間複雜度
- 如何不用演算法對陣列進行(0時間複雜度,0空間複雜度)排序?演算法陣列時間複雜度排序
- 關於計算時間複雜度和空間複雜度時間複雜度
- 【資料結構】-時間複雜度和空間複雜度資料結構時間複雜度
- 演算法分析__時間複雜度演算法時間複雜度
- 演算法(一)時間複雜度演算法時間複雜度
- 卷演算法——時間複雜度演算法時間複雜度
- 解惑3:時間頻度,演算法時間複雜度演算法時間複雜度
- Java實現:排序演算法--時間複雜度為O(n² )Java排序演算法時間複雜度
- 我們常說的演算法時間複雜度和空間複雜度到底是什麼?演算法時間複雜度
- 一文講透演算法中的時間複雜度和空間複雜度計算方式演算法時間複雜度
- 遞迴演算法的時間複雜度遞迴演算法時間複雜度
- 各種排序演算法的特點,時間複雜度,穩定性等排序演算法時間複雜度
- 那些年忽略的知識:時間複雜度和空間複雜度詳解時間複雜度
- 時間複雜度怎麼算?如何計算時間複雜度?時間複雜度
- 1. 時間複雜度和空間複雜度 (7 天掌握演算法面試必考知識點)時間複雜度演算法面試
- 【基礎】演算法的時間複雜度分析演算法時間複雜度
- 查詢與排序01,線性查詢,時間複雜度,演算法排序時間複雜度演算法
- 易被忽略的知識點之 ---- 各種時間複雜度和空間複雜度時間複雜度
- 快速排序平均時間複雜度O(nlogn)的推導排序時間複雜度
- 時間複雜度的計算時間複雜度
- 用一個測試類簡化排序演算法時間複雜度的研究排序演算法時間複雜度
- 演算法的空間複雜度演算法複雜度
- 圖解時間複雜度圖解時間複雜度