Mental Model
Counting sort counts how many times each number appears, then uses these counts to place numbers in order without comparing them.
Analogy: Imagine sorting colored balls by counting how many balls of each color you have, then lining them up color by color based on those counts.
Input array: [4, 2, 2, 8, 3, 3, 1] Count array: [0, 1, 2, 2, 1, 0, 0, 0, 1] Sorted output: [1, 2, 2, 3, 3, 4, 8]