14.6:排序总结

14.6:排序总结

 

1、不基于比较的排序,对样本数据有严格的要求,不易改写。

2、基于比较的排序,只要规定好两个样本怎么比大小就可以直接复用。

3、基于比较的排序,时间复杂度的极限是O(N * logN)。

4、时间复杂度O(N * logN)、额外空间复杂度低于O(N)、且稳定的基于比较的排序是不存在的。

5、为了绝对的速度选快排、为了省空间选堆排,为了稳定性选归并。

 

 

常见的坑:

 1、归并排序的额外空间复杂度可以变成O(1),“归并排序内部缓存法”,但是将 变的不再稳定。

 2、“原地归并排序是垃圾帖”,会让时间复杂度变成O(N2)。

 3、快速排序稳定性改进,“01 stable sort”,但是会对样本数据要求更多。

posted @ 2022-05-23 08:29  yzmarcus  阅读(20)  评论(0编辑  收藏  举报