0
点赞
收藏
分享

微信扫一扫

VScode 修改 Markdown Preview Enhanced 字体以及大纲编号

嚯霍嚯 2024-07-27 阅读 27

快速排序思想

  1. 从数组中选择一个元素作为基准点
  2. 排序数组,所有比基准值小的元素摆放在左边,而大于基准值的摆放在右边。每次分割结束以后基准值会插入到中间去。
  3. 最后利用递归,将摆放在左边的数组和右边的数组在进行一次上述的1和2操作。

快速排序代码实现

function quickSort(arr) {
if (arr.length <= 1) {
return arr;
}
const left = []
const right = []
let temp = arr[0]
for (let i = 1; i < arr.length; i++) {
if (arr[i] > temp) {
right.push(arr[i])
} else {
left.push(arr[i])
}
}
return this.quickSort([...left]).concat(temp, this.quickSort(right))
}

快速排序复杂度

时间复杂度

空间复杂度

举报

相关推荐

0 条评论