|
1 | | -| | 算法 | 最优时间复杂度 | 最差时间复杂度 | 平均时间复杂度 | 稳定性 | 空间复杂度 | |
2 | | -|----------------|---------|:------------------:|:------------------:|:--------------------:|:-----:|:----------------:| |
3 | | -| Selection Sort | 选择排序 | O(n<sup>2</sup>) | O(n<sup>2</sup>) | O(n<sup>2</sup>) | 不稳定 | O(1) | |
4 | | -| Bubble Sort | 冒泡排序 | O(n) | O(n<sup>2</sup>) | O(n<sup>2</sup>) | 稳定 | O(1) | |
5 | | -| Insertion Sort | 插入排序 | O(n) | O(n<sup>2</sup>) | O(n<sup>2</sup>) | 稳定 | O(1) | |
6 | | -| Shell Sort | 希尔排序 | O(n) | O(n<sup>2</sup>) | O(n<sup>1.3</sup>) | 不稳定 | O(1) | |
7 | | -| Merge Sort | 归并排序 | O(nlogn) | O(nlogn) | O(nlogn) | 稳定 | O(n) | |
8 | | -| Quick Sort | 快速排序 | O(nlogn) | O(n<sup>2</sup>) | O(nlogn) | 不稳定 | 最优O(logn),最差O(n) | |
9 | | -| Heap Sort | 堆排序 | O(nlogn) | O(nlogn) | O(nlogn) | 不稳定 | O(1) | |
10 | | -| Radix Sort | 基数排序 | O(d(r+n)) | O(d(n+rd)) | O(d(r+n)) | 稳定 | O(rd+n) | |
11 | | -| Bucket Sort | 桶排序 | | | O(n+k) | | O(n+k) | |
12 | | -| TimSort | TimSort | | | | | | |
| 1 | +## 排序算法比较表 |
13 | 2 |
|
14 | | -Note: 基数排序的时间复杂度中,r代表关键字的基数,d代表位数,n代表关键字的个数,也就是说基数排序不受待排序数组规模的影响。 |
| 3 | +| | 算法 | 最优时间复杂度 | 最差时间复杂度 | 平均时间复杂度 | 稳定性 | 空间复杂度 | |
| 4 | +|----------------|---------|:----------------:|:----------------:|:------------------:|:---:|:----------------:| |
| 5 | +| Bubble Sort | 冒泡排序 | O(n) | O(n<sup>2</sup>) | O(n<sup>2</sup>) | 稳定 | O(1) | |
| 6 | +| Counting Sort | 计数排序 | O(n+k) | O(n+k) | O(n+k) | | O(n+k) | |
| 7 | +| Heap Sort | 堆排序 | O(nlogn) | O(nlogn) | O(nlogn) | 不稳定 | O(1) | |
| 8 | +| Insertion Sort | 插入排序 | O(n) | O(n<sup>2</sup>) | O(n<sup>2</sup>) | 稳定 | O(1) | |
| 9 | +| Merge Sort | 归并排序 | O(nlogn) | O(nlogn) | O(nlogn) | 稳定 | O(n) | |
| 10 | +| Quick Sort | 快速排序 | O(nlogn) | O(n<sup>2</sup>) | O(nlogn) | 不稳定 | 最优O(logn),最差O(n) | |
| 11 | +| Selection Sort | 选择排序 | O(n<sup>2</sup>) | O(n<sup>2</sup>) | O(n<sup>2</sup>) | 不稳定 | O(1) | |
| 12 | +| Shell Sort | 希尔排序 | O(n) | O(n<sup>2</sup>) | O(n<sup>1.3</sup>) | 不稳定 | O(1) | |
| 13 | +| Radix Sort | 基数排序 | O(d(r+n)) | O(d(n+rd)) | O(d(r+n)) | 稳定 | O(rd+n) | |
| 14 | +| Bucket Sort | 桶排序 | | | O(n+k) | | O(n+k) | |
| 15 | +| TimSort | TimSort | | | | | | |
15 | 16 |
|
16 | | -稳定性:重复元素在排序前后,相对位置是否改变。 |
| 17 | +Note: |
| 18 | + |
| 19 | +1. 计数排序的时间复杂度中,k代表待排序数据的数值范围。 |
| 20 | +2. 基数排序的时间复杂度中,r代表关键字的基数,d代表位数,n代表关键字的个数,也就是说基数排序不受待排序数组规模的影响。 |
| 21 | + |
| 22 | +稳定性:重复元素在排序前后,相对位置是否改变。 |
| 23 | + |
| 24 | +## 排序算法分类 |
0 commit comments