Quickselect finds the k‑th smallest/largest element without fully sorting the array. It uses partitioning like quicksort and runs in expected O(n) time, but can degrade to O(n^2) in the worst case.