Radix Sort
Radix Sort
Examples:
The decimal number system that we use every day has
10 digits {0,1,2,3,4,5,6,7,8,9} and so the radix is 10.
How Radix Sort Works?
1. Radix sort works by sorting each digit from least
significant digit to most significant digit.
2. So in base 10 (the decimal system), radix
sort would sort by the digits in the 1's place, then the 10's
place, and so on.
3.To do this, radix sort uses counting sort as a subroutine
to sort the digits in each place value.
What are the advantages of Radix
Sort?
1. Since Radix Sort depends on digits or letters, Radix Sort is much less flexible
than other
sorts. Hence , for every different type of data it needs to be rewritten.
2. The constant for Radix sort is greater compared to other sorting algorithms.
4. Radix Sort can be slower than some other algorithms such as Quick Sort and
Merge Sort.
Classification of Radix Sort :
431
0
So 4 passes will require
EXAMPLE (LSD)
Input List:
0 1 2 3 4 5 6 7 8 9
EXAMPLE (LSD)
Sort on lower digit / Pass 1 :
0 1 2 3 4 5 6 7 8 9
126
EXAMPLE (LSD)
Sort on lower digit / Pass 1 :
0 1 2 3 4 5 6 7 8 9
126 328
EXAMPLE (LSD)
Sort on lower digit / Pass 1 :
126 328 636 341 416 131 328
0 1 2 3 4 5 6 7 8
9
126 328
636
EXAMPLE (LSD)
Sort on lower digit / Pass 1 :
126 328 636 341 416 131 328
0 1 2 3 4 5 6 7 8
9
341 126 328
636
EXAMPLE (LSD)
Sort on lower digit / Pass 1 :
126 328 636 341 416 131 328
0 1 2 3 4 5 6 7 8
9
341 126 328
636
416
EXAMPLE (LSD)
Sort on lower digit / Pass 1 :
126 328 636 341 416 131 328
0 1 2 3 4 5 6 7 8
9
341 126 328
131 636
416
EXAMPLE (LSD)
Sort on lower digit / Pass 1 :
126 328 636 341 416 131 328
0 1 2 3 4 5 6 7 8
9
341 126 328
131 636 328
416
EXAMPLE (LSD)
After Sorting :
0 1 2 3 4 5 6 7 8 9
341
EXAMPLE (LSD)
Sort on next higher digit/Pass 2 :
0 1 2 3 4 5 6 7 8 9
131 341
EXAMPLE (LSD)
Sort on next higher digit/Pass 2 :
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8
9
416 126 131 341
328 636
EXAMPLE (LSD)
Sort on next higher digit/Pass 2 :
341 131 126 636 416 328 328
0 1 2 3 4 5 6 7 8
9
416 126 131 341
328 636
328
EXAMPLE (LSD)
After Sorting:
0 1 2 3 4 5 6 7 8 9
416
EXAMPLE (LSD)
Sort on next higher digit / Pass 3 :
0 1 2 3 4 5 6 7 8 9
126 416
EXAMPLE (LSD)
Sort on next higher digit / Pass 3 :
0 1 2 3 4 5 6 7 8 9
126 328 416
EXAMPLE (LSD)
Sort on next higher digit / Pass 3 :
0 1 2 3 4 5 6 7 8 9
126 328 416
328
EXAMPLE (LSD)
Sort on next higher digit / Pass 3 :
0 1 2 3 4 5 6 7 8 9
126 328 416
131 328
EXAMPLE (LSD)
Sort on next higher digit / Pass 3 :
0 1 2 3 4 5 6 7 8 9
126 328 416 636
131 328
EXAMPLE (LSD)
Sort on next higher digit / Pass 3 :
416 126 328 328 131 636 341
0 1 2 3 4 5 6 7 8 9
126 328 416 636
131 328
341
EXAMPLE (LSD)
After Sorting :