Linear Time Selection

Subpage of Algorithms

Algorithms explained with intuition, formal models, proof sketches, and implementation tradeoffs.

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

/ Continue

Follow the technical trail.

Use the dense notes as the source material, then move through the guided route, writing, or project proof when you want a cleaner entry point.