10 大排序算法
| 名称 | 最好时间复杂度 | 最坏时间复杂度 | 平均时间复杂度 | 额外空间复杂度 | 原地排序 | 稳定性 | 
|---|
| 冒泡排序(Bubble Sort) | O(n) | O(n2) | O(n2) | O(1) | ✔ | ✔ | 
| 选择排序(Selection Sort) | O(n2) | O(n2) | O(n2) | O(1) | ✔ | ❌ | 
| 插入排序(Insertion Sort) | O(n) | O(n2) | O(n2) | O(1) | ✔ | ✔ | 
| 归并排序(Merge Sort) | O(nlogn) | O(nlogn) | O(nlogn) | O(n) | ❌ | ✔ | 
| 快速排序(Quick Sort) | O(nlogn) | O(n2) | O(nlogn) | O(logn) | ✔ | ❌ | 
| 希尔排序(Shell Sort) | O(n) | O(n4/3) ~ O(n2) | 取决于步长序列 | O(1) | ✔ | ❌ | 
| 堆排序(Heap Sort) | O(nlogn) | O(nlogn) | O(nlogn) | O(1) | ✔ | ❌ | 
| 计数排序(Counting Sort) | O(n + k) | O(n + k) | O(n + k) | O(n + k) | ❌ | ✔ | 
| 基数排序(Radix Sort) | O(d ∗ (n + k)) | O(d ∗ (n + k)) | O(d ∗ (n + k)) | O(n + k) | ❌ | ✔ | 
| 桶排序(Bucket Sort) | O(n + k) | O(n + k) | O(n + k) | O(n + m) | ❌ | ✔ |