工程上的排序算法

Posted shundong106

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工程上的排序算法相关的知识,希望对你有一定的参考价值。

1、若你需要排序的是基本数据类型,则选择快速排序。若你需要排序的是引用数据类型,则选择归并排序。(基于稳定性考虑)

因为基本数据类型之间无差异,不需要考虑排序算法稳定性,而归并排序则可以实现算法的稳定性。

2、当你需要排序的样本数量小于60,直接选择插入排序,虽然插入排序的时间复杂度为O(N²),我们是忽略常数项得出来的O(N²),但在魔数60以内,插入排序的时间复杂度为O(N²)的劣势体现不出来,反而插入排序常数项很低,导致在小样本情况下,插入排序极快。      如果一开始数组容量很大,但可以分治处理,分治后如果数组容量(L>R - 60)小于60,可以直接选择插排。当大样本下考虑情况1。

以上是关于工程上的排序算法的主要内容,如果未能解决你的问题,请参考以下文章

算法导论中,为啥合并排序的递归树的高度为lgn?

不懂算法的程序员不是好工程师--选择排序

不懂算法的程序员不是好工程师--选择排序

由浅入深玩转快速排序算法

排序算法之选择排序

排序算法总结之希尔排序