排序算法稳定性:两个相同的元素排序前后的相对位置关系不会发生改变。
复杂度比较
算法 | 平均时间复杂度 | 最好情况 | 最坏情况 | 空间复杂度 | 稳定性 |
---|---|---|---|---|---|
冒泡排序 | O(N2) | O(N2) | O(N2) | O(1) | 稳定 |
插入排序 | O(N2) | O(N) | O(N2) | O(1) | 稳定 |
希尔排序 | O(N3/2) | O(N2) | O(1) | 不稳定 | |
堆排序 | O(NlogN) | O(NlogN) |
排序算法稳定性:两个相同的元素排序前后的相对位置关系不会发生改变。
算法 | 平均时间复杂度 | 最好情况 | 最坏情况 | 空间复杂度 | 稳定性 |
---|---|---|---|---|---|
冒泡排序 | O(N2) | O(N2) | O(N2) | O(1) | 稳定 |
插入排序 | O(N2) | O(N) | O(N2) | O(1) | 稳定 |
希尔排序 | O(N3/2) | O(N2) | O(1) | 不稳定 | |
堆排序 | O(NlogN) | O(NlogN) |