文章目录
0、 各种排序的比较
内部算法 | 时间复杂度(最好) | 时间复杂度(评价) | 时间复杂度(最坏) | 空间复杂度 | 是否稳定 | 备注 |
---|---|---|---|---|---|---|
直接插入排序 | O(n) | O(n^2) | O(n^2) | O(1) | 是 | n<50,默认有序为佳 |
简单冒泡排序 | O(n) | O(n^2) | O(n^2) | O(1) | 是 | n<50,默认有序为佳 |
简单选择排序 | O(n^2) | O(n^2) | O(n^2) | O(1) | 否 | n<50,元素信息量小为佳 |
希尔shell排序 | O(n^1.3) | O(n^1.3) | O(n^1.3) | O(1) | 否 | |
快速排序 | O(n*log(n)) | O(n*log(n)) | O(n^2) | O(log(n)) | 否 | 适用n大,元素随机分布最佳 |
堆排序 | O(n*log(n)) | O(n*log(n))) | O(n*log(n)) | O(1) | 否 | 适用n大 |
二路归并排序 | O(n*log(n)) | O(n*log(n)) | O(n*log(n) |