Quicksort は分割統治ソートで、pivot を選択し、要素をそれより小さいものと大きいものに分割してから、各側を再帰的にソートします。平均 O(n log n)、最悪ケース O(n²)。
アイデア
分割により pivot は最終的なソート済み位置に配置されます。左側のすべては小さく、右側のすべては大きいです。両側で再帰します。
例
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([, , , , ])
