Beginner Topic 14 of 51 Algorithms
Radix Sort
Sorting digit by digit using a stable subroutine.
How it works
Radix sort processes keys digit by digit, from least significant to most significant, using a stable sort such as counting sort at each digit. After the last pass, the whole list is sorted. For n keys of d digits in base b it takes O(d times (n + b)) time, which beats comparison sorts for fixed-width integers or strings of limited length.
Where it is used
Sorting large sets of integers, IP addresses, dates or fixed-length strings, suffix array construction and GPU sorting use radix sort. It is common in high-performance libraries.
Common pitfall
The inner sort must be stable or the result will be wrong. Variable-length keys need padding or MSD variants. Negative numbers and floating-point values need transformations. Memory usage and cache behavior can make it slower than quicksort for small inputs. Choose the base to balance passes against buckets.
Where it fits in the course
Radix Sort is topic 14 of 51 in Algorithms, rated Beginner. It follows Counting Sort. The next topic is Brute Force.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Algorithms quiz.
- Explore the Sorting Algorithms visualizer: Bubble, selection, insertion, merge and quick sort animated.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Algorithms quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Radix Sort?
Where do people use Radix Sort?
What is the most common mistake with Radix Sort?
What should I learn before this topic?
How can I practice it?
Is Radix Sort hard to learn?
How long does it take to learn Radix Sort?
Which topics are related to Radix Sort?
What should I study after Radix Sort?
Related topics
- Counting Sort (Algorithms)
- Brute Force (Algorithms)
- Quick Sort (Algorithms)
- Two Pointers (Algorithms)