count sort

V prípade, že máme o číslach nejakú informáciu naviac, tak vieme čísla triediť o trochu jednoduchšie. Táto informácia naviac, ktorú často vieme je to, že čísla na vstupe sú z nejakého - pomerne malého rozsahu. Predstavme si, že vieme, že čísla sú iba od $0$ po $100$. To, čo by sme mohli urobiť, je prejsť číslami na vstupe, a spočítať si, koľko čísel $0$ sa tam vyskytuje koľko čísel $1$ sa tam vyskytuje, koľko čísel $2$, a tak ďalej, až po $100$.

Toto vieme napríklad urobiť tak, že budeme mať pole, kde si na indexe $0$ budeme pamätať, koľko čísel $0$ sme videli, na indexe $1$ budeme pamätať, koľko čísel $1$ sme videli, ...

Takéto pole vieme predpočítať tak, že jednoducho raz prejdeme celé pole, a za každé číslo $i$, ktoré nájdeme, si zväčšíme hodnotu na $i$-tom indexe poľa o 1.

Keď chceme potom vypísať utriedenú postupnosť, tak nám stačí prejsť celé pole, kde si ukladáme počty, a potom vypísať toľko čísel 0, aká hodnota je na indexe 0, potom toľko čísel 1, aká hodnota je na indexe 1, ... Vo všeobecnosti jednoducho toľko čísel i, aká je hodnota na indexe i.