Úvod

Pojmom triedenie sa v informatike myslí zoradzovanie prvkov podľa nejakej vlastnosti. Teda napríklad zoradenie čísel od najmenšieho po najväčšie, zoradenie reťazcov (slov) podľa abecedy, zoradenie futbalových družstiev podľa počtu bodov, ktoré získali. Alebo hráte karty a chcete ich mať na ruke pekne po poradí od najmenšej po najväčšiu. Pri tomto všetkom potrebujeme usporiadať veci podľa určitej vlastnosti a od nás informatikov sa čaká, že to budeme vedieť robiť rýchlo a efektívne a to aj pre viac ako $14$ kariet na ruke alebo $30$ tímov vo futbalovom rebríčku.

Popis a zadanie problému

Vstupom triediacich algoritmov je teda nejaká postupnosť prvkov, väčšinou už načítaná v nejakom poli (alebo inej dátovej štruktúre), výstupom má byť postupnosť tých istých prvkov, správne usporiadaná.

Dôležité je určiť si, čo znamená najmenší prvok a vôbec operátor menší. Keď porovnávame čísla, je to jasné. Používame normálne $<$, teda $2<8$, $47<212$, ... Mie vždy však pracujeme len s číslami. Môžeme dostať napríklad písmená. Tie môžeme porovnávať podľa poradia v abecede. Samozrejme, to nie je všetko, čo môžeme robiť. Našu operáciu \texttt{menší} si môžeme zvoliť podľa ľubovôle, stačí, aby nám dávala zmysel a po celý čas sme sa jej držali. V ďalšom texte však budeme predpokladať, že pracujeme s celými číslami a používame normálne $<$.

Pre zjednodušenie sa v tomto texte budeme zaoberať iba triedením poľa celých čísel. Náš program teda na vstupe dostane jedno (neutriedné) pole celých čísel. Úlohou programu je dať na výstup pole, ktoré obsahuje prvky zo vstupu v utriedenom poradí.

O tomto kurze

V tomto kurze bude menej študijných textov a viac úloh. Tieto úlohy sú urobené tak, že sú to čiastkové problémy, ktoré treba vyriešiť pri výslednom triediacom algoritme.