1.排序时将与比较轴相等的元素放在一起,然后再对除中间比较轴等值的这一堆数之外的数进行递归。
2.选取比较轴时,利用随机函数随机选取一个数作为主轴。
3.可以设置一个阈值,比较一定次数后分区长度小于这个阈值时,因为当元素基本有序时快排效率会下降,而插入排序表现很好,因此这时候可以改用插入排序。并且还能减少栈的调用,进一步提高效率。
4.当发现递归深度过深可能造成栈溢出时,改用堆排序。
5.使用多线程。
1.排序时将与比较轴相等的元素放在一起,然后再对除中间比较轴等值的这一堆数之外的数进行递归。
2.选取比较轴时,利用随机函数随机选取一个数作为主轴。
3.可以设置一个阈值,比较一定次数后分区长度小于这个阈值时,因为当元素基本有序时快排效率会下降,而插入排序表现很好,因此这时候可以改用插入排序。并且还能减少栈的调用,进一步提高效率。
4.当发现递归深度过深可能造成栈溢出时,改用堆排序。
5.使用多线程。