Linear Time Selection

Subpage of Algorithms

Recurrences, asymptotics, and design techniques.

A selection algorithm finds the \(k^{th}\) smallest (or largest) value in a collection of orderable values (known as the \(k^{th}\) order statistic). 

We say this problem because although there is an easy way to do it by sorting and then extracting the element in \(O(N \log{N})\) time, there are some clever algorithms we can deploy to solve this problem faster.

Here we look at the clever approaches to doing selection. In addition to understanding these algorithms these algorithms are also very meaningful analyze because a good analysis strategy will easily lead us to the time complexity.

Quickselect

Median of Medians