快速排序优化

时间:2023-02-10 22:09:21

1.排序时将与比较轴相等的元素放在一起,然后再对除中间比较轴等值的这一堆数之外的数进行递归。

2.选取比较轴时,利用随机函数随机选取一个数作为主轴。

3.可以设置一个阈值,比较一定次数后分区长度小于这个阈值时,因为当元素基本有序时快排效率会下降,而插入排序表现很好,因此这时候可以改用插入排序。并且还能减少栈的调用,进一步提高效率。

4.当发现递归深度过深可能造成栈溢出时,改用堆排序。

5.使用多线程。


参考:http://blog.sina.com.cn/s/blog_5a3744350100jnec.html

http://blog.csdn.net/insistgogo/article/details/7785038