快速排序 是一种分治排序算法,它选择一个 基准值(pivot),将元素分为比基准值小和比基准值大的两组,然后递归地对两侧进行排序。平均时间复杂度为 O(n log n),最坏情况为 O(n²)。
基本思想
Partitioning 将基准值放在其最终排序位置;左边的所有元素都较小,右边的所有元素都较大。递归地对两侧进行排序。
示例
python
():
(arr) <= :
arr
pivot = arr[(arr) // ]
left = [x x arr x < pivot]
mid = [x x arr x == pivot]
right = [x x arr x > pivot]
quicksort(left) + mid + quicksort(right)
quicksort([, , , , ])
