各种排序的比较:
平均时间复杂度 | 最好时间复杂度 | 最差时间复杂度 | 空间复杂度 | 稳定性 | ||
插入排序 | 直接插入 | o(n^2) | o(n) | o(n^2) | o(1) | 稳定 |
希尔排序 | o(n^3/2) | o(n) | o(n^2) | o(1) | 不稳定 | |
选择排序 | 直接选择 | o(n^2) | o(n^2) | o(n^2) | o(1) | 不稳定 |
堆排序 | o(nlog2n) | o(nlog2n) | o(nlog2n) | o(1) | 稳定 | |
交换排序 | 冒泡排序 | o(n^2) | o(n) | o(n^2) | o(1) | 不稳定 |
快排 | o(nlog2n) | o(nlog2n) | o(n^2) | o(nlog2n) | 不稳定 | |
归并排序 | o(nlog2n) | o(nlog2n) | o(nlog2n) | o(n) | 稳定 | |
基数排序 | o(d(r+n)) | o(d(n+rd)) | o(d(r+n)) | o(rd+n) | 稳定 |