Counting-Based Sorting
Learn about counting-based sorting algorithms.
In this lesson we’ll learn about two sorting algorithms that are not comparison-based. Specialized for sorting small integers, these algorithms elude the lower-bounds of Theorem 1 in previous lesson by using (parts of) the elements in a as indices into an array. Consider a statement of the form
This statement executes in constant time, but has c.length
possible different outcomes, depending on the value of a[i]
. This means that the execution of an algorithm that makes such a statement cannot be modeled as a binary tree. Ultimately, this is the reason that the algorithms in this section are able to sort faster than comparison-based algorithms.
Counting-sort
Suppose we have an input array consisting of integers, each in the
range . The counting-sort algorithm sorts using an auxiliary
array c
of counters. It outputs a sorted version of a
as an auxiliary array
The idea behind counting-sort is simple: For each ...
Create a free account to access the full course.
By signing up, you agree to Educative's Terms of Service and Privacy Policy