LearnViz CompSci
Home / Learn / Algorithms / Counting Sort

Beginner Topic 13 of 51 Algorithms

Counting Sort

Non-comparison sort tallying occurrences of small integer keys.

How it works

Counting sort sorts integers from a limited range without comparisons. It counts how many times each value occurs, computes prefix sums to find each value's final position and then places elements into the output array. Running time is O(n + k) where k is the range of values, and a stable version processes input in reverse order.

Where it is used

Sorting ages, grades or small codes, serving as the stable subroutine in radix sort, histogram building and sorting characters in strings and anagram checks use counting sort.

Common pitfall

If the range k is much larger than n, memory and time blow up, making it impractical. It works only for integer-like keys, and negative numbers need an offset. Forgetting stability when sorting records breaks radix sort. Allocate the count array carefully for the largest key.

Where it fits in the course

Counting Sort is topic 13 of 51 in Algorithms, rated Beginner. It follows Quick Sort. The next topic is Radix Sort.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Algorithms quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Counting Sort?
Non-comparison sort tallying occurrences of small integer keys. It belongs to Algorithms and is a beginner-level topic.
Where do people use Counting Sort?
Sorting ages, grades or small codes, serving as the stable subroutine in radix sort, histogram building and sorting characters in strings and anagram checks use counting sort.
What is the most common mistake with Counting Sort?
If the range k is much larger than n, memory and time blow up, making it impractical.
What should I learn before this topic?
Start with Quick Sort, the topic just before it in Algorithms.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Algorithms quiz. You can also explore Sorting Algorithms in the Visual Lab.
Is Counting Sort hard to learn?
It is a Beginner topic, so it works as an entry point. If the terms are new, read the explanation twice and try the visualizer before the quiz.
How long does it take to learn Counting Sort?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Counting Sort?
Quick Sort, Radix Sort, Merge Sort are closely connected. The full list is in the related topics section of this page.
What should I study after Counting Sort?
Continue with Radix Sort, the next topic in Algorithms.

Related topics