赞
踩
测试数组【6,5,4, 7,1】
第一轮: 第二轮: 第三轮:
对比值:6 对比值 5 对比值 4
左边 5,4,1 左边 4,1 左边 1
右边 7 右边 [] 右边 []
5,4,1,6,7 4,1,5,6,7 1,4,5,6,7
- 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))
- }
快速排序的时间复杂度在平均情况下是O(nlogn),但在最坏情况下可能达到O(n^2)
快速排序的空间复杂度依赖于递归调用的深度,理想情况下为O(logn),但在最坏情况下可能达到O(n)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。