Radix Sort processes numbers digit by digit using a stable subroutine (often counting sort) per digit. LSD variant starts from least significant digit, preserving stability across passes.
Phase: Distribute by digit 0 (0 = units)
Array
28
477
635
137
101
997
215
470
361
958
Buckets by digit 0
Bucket 0
empty
Bucket 1
empty
Bucket 2
empty
Bucket 3
empty
Bucket 4
empty
Bucket 5
empty
Bucket 6
empty
Bucket 7
empty
Bucket 8
empty
Bucket 9
empty
Complexity
Time: O(d × (n + k)) where d = digits, k = base
Space: O(n + k)
Stable: Yes (with stable per-digit sort)
In-place: No
Notes
Works well for integers with bounded digits or fixed-length strings