排序算法分为:
1.稳定排序算法
2.不稳定排序算法
比如:
例:序列 3 15 8 8 6 9
若排序后得 3 6 8 8 9 15 稳定的
若排序后得 3 6 8 8 9 15 不稳定的
1.内排:在内存中(数据较少时)
2.外排:需要外存(数据较多时)
稳定性 | 平均时间复杂度 | |
直接插入排序 | 稳定 | O(n平方) |
希尔排序 | 稳定 | O(nlog2n) |
冒泡排序 | 稳定 | O(n平方) |
快速排序 | 不稳定 | O(nlog2n) |
直接选择排序 | 不稳定 | O(n平方) |
堆排序 | 不稳定 | O(nlog2n) |
归并排序 | 稳定 | O(nlog2n) |
基数排序 | 稳定 | O(kn) |