各種排序算法的時間複雜度對比
排序算法 | 最壞時間複雜度 | 平均時間複雜度 | 最優時間複雜度 | 空間複雜度 | 穩定性 |
冒泡排序 | O(n^2) | O(n^2) | O(n) | O(1) | 穩定 |
插入排序 | O(n^2) | O(n^2) | O(n) | O(1) | 穩定 |
希爾排序 | O(n^2) | O(n^1.5) | O(nlogn) | O(1) | 不穩定 |
選擇排序 | O(n^2) | O(n^2) | O(n^2) | O(1) | 不穩定 |
快速排序 | O(n^2) | O(nlogn) | O(nlogn) | O(logn) | 不穩定 |
歸并排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(n) | 穩定 |
堆排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(1) | 不穩定 |
計數排序 | O(n+k) | O(n+k) | O(n+k) | O(k) | 穩定 |
桶排序 | O(n^2) | O(n+k) | O(n+k) | O(n) | 取決于桶内排序 |
基數排序 | O(d(n+k)) | O(d(n+k)) | O(d(n+k)) | O(n+k) | 穩定 |