对比表格
分类 | 算法 | 时间复杂度 | 空间复杂度 | 稳定性 | 关联性 | ||
最好 | 最差 | 平均 | |||||
插入排序 | 直接插入排序 | O(n)(优化后) | O(n2) | O(n2) | O(1) | 稳定 | |
希尔排序 | O(n) | O(n2) | 不确定 | O(1) | 不稳定 | 基于直接插入排序 | |
选择排序 | 直接选择排序 | O(n2) | O(n2) | O(n2) | O(1) | 不稳定 | |
堆排序 | O(nlogn) | O(nlogn) | O(nlogn) |
就地排序-O(1) |
不稳定 | 应用了选择的理念 | |
交换排序 | 冒泡排序 | O(n)(优化后) | O(n2) | O(n2) | O(1) | 稳定 | |
快速排序 | O(nlogn) | O(n2) | O(nlogn) |
最好O(logn), 最差O(n) |
不稳定 | 基于冒泡排序 | |
归并排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(n) | 稳定 | ||
基数排序 |
O(d*(n+r)) d是位数,r是基数, n是比较的数目 |
O(d*(n+r)) | O(d*(n+r)) | O(n+r) | 稳定 |