说说对快速排序的理解
# 是什么
快速排序: 是快、效率高,是处理大数据最快的排序算法之一
# 思想
- 找到第一个元素
- 遍历数组, 比它小的放左边,大的放右侧
- 递归遍历
- 放回结果

# 怎么用
function kuaipai(arr) {
const sort = (arr) => {
if (arr.length < 2) return arr;
const left = [];
const right = [];
const mid = arr[0];
for (let i = 1; i < arr.length; i++) {
if (arr[i] < mid) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return [...sort(left), mid, ...sort(right)];
};
return sort(arr);
}
const arr = [1, 19, 2, 5, 99, 23];
const res = kuaipai(arr);
console.log(res); //[ 1, 2, 5, 19, 23, 99 ]
# 时间复杂度O(nlogn), 稳定
# 场景
是目前基于比较的内部排序中被认为最好的方法,当数据过大且数据杂乱无章时,则适合采用快速排序
上次更新: 2021/12/19, 18:05:42