【算法】快排优化
快排的平均时间复杂度为O(nlogn),但在最坏情况下为O(n^2),对应每次都不能有效partition的情况(即原数组已经有序)。
对快排的改进思路:
每次选取基准元素时,进行随机交换,确保基准元素的随机性
对划分的元素个数已经很少时,进行插入排序提高效率,避免对小数据集的partition
使用“三路快排”思想,即将原数组划分为:小于基准元素、等于基准元素和大于基准元素的三部分。
Java代码实现
public void quickSort3(int[] array, int low, i
原创
2020-07-18 09:55:38 ·
624 阅读 ·
0 评论