grokking-algorithms/chapter4
2024-02-06 22:04:37 +00:00
..
ex4.1.py upd readmes, rename exercises. 2024-02-06 22:04:37 +00:00
ex4.3.py upd readmes, rename exercises. 2024-02-06 22:04:37 +00:00
ex4.4.py upd readmes, rename exercises. 2024-02-06 22:04:37 +00:00
quicksort.py cleanup quicksort 2024-01-08 15:46:21 +00:00
README.md upd readmes, rename exercises. 2024-02-06 22:04:37 +00:00

Quicksort

Similar to the previous recursive function, quicksort uses divide and conquer.

The base case occurs for an array size 0 or 1 (doesn't need to be sorted).

The recursive case works by partitioning the array around a chosen pivot repeatedly until the base case is met and then combining all sorted sub-arrays.

Note. Quicksort should be implemented using a random pivot to ensure average runtimes.