算法思路 | 排序算法 | 时间复杂度 | 最好情况 | 最坏情况 | 空间复杂度 | 稳定性 |
---|---|---|---|---|---|---|
插入 | 直接插入排序 | O(n2) | O(n) | O(n2) | O(1) | √ |
插入 | 二分插入排序 | O(n2) | O(n) | O(n2) | O(1) | √ |
插入 | 希尔排序 | O(n*(log2n)2) | 无 | 无 | O(1) | × |
交换 | 冒泡排序 | O(n2) | O(n) | O(n2) | O(1) | √ |
交换 | 快速排序 | O(n*log2n) | O(n*log2n) | O(n2) | O(log2n) | × |
选择 | 直接选择排序 | O(n2) | O(n2) | O(n2) | O(1) | × |
选择 | 堆排序 | O(n*log2n) | O(n*log2n) | O(n*log2n) | O(1) | × |
归并 | 归并排序 | O(n*log2n) | O(n*log2n) | O(n*log2n) | O(n) | √ |