Stabilní - Zachovává původní vzájemné pořadí prvků se stejným klíčem
Nestabilní - Nezaručuje zachování tohoto pořadí, může prvky se stejným klíčem promíchat
Datově citlivý - Závislost na vstupních datech - pokud dostane už téměř seřazené pole, proběhne rychle, u rozházeného proběhne pomalu
Datově necitlivý - Nezávisí na vstupních datech
BubbleSort
Algoritmus
Porovnává 2 sousední prvky
Pokud jsou v nesprávném pořadí, prohodí je. Takto porovnává, dokud největší prvek "nevybublá" nahoru a není už seřazený
Takto ve vlnách opakuje dokola
Časová:
Paměťová: In-place, stabilní, citlivý
SelectSort
Algoritmus
Nejprve projdeme celé pole a vybereme min
Pak min prohodíme s prvním prvkem, získáme první zatříděný prvek
Od druhého prvku opět projdeme celé pole a vybereme min
Pak min prohodíme s druhým prvkem, získáme druhý zatříděný prvek
Takto se opakuje, dokud není celé setříděné
Časová:
Paměťová: In-place, nestabilní, necitlivý
InsertSort
Algoritmus
První prvek v poli považujeme za seřazený
Další prvek (z neseřazené části "vyjmeme ven" a uložíme do paměti/proměnné mem), tím vznikne volné místo za seřazenou částí
Prvky seřazené části od konce porovnáváme s mem
Pokud jsou větší než mem, posune je v poli doprava
Pokud je prvek menší než mem (nebo jsme na začátku pole), vloží mem za něj (resp. na začátek pole)
Pokračuje krokem 2., dokud existují další neseřazené prvky
Časová:
Paměťová: In-place, stabilní, citlivý
I když časové a paměťové vlastnosti vypadají stejné jako BubbleSort, InsertSort nedělá prohazování, jen posunutí v poli o jednu pozici. Tyto operace jsou efektivnější a rychlejší.
Dokáže řadit, i když mu v průběhu přicházejí další a další data (tzv. "online řazení")
O číslech nic víc nevíme! (pokud bychom věděli, že jde např. o omezená celá čísla, dokázali bychom to pomocí algoritmů jako CountingSort nebo RadixSort seřadit i v lineárním čase )
Problém vyhledávání
= alespoň
V seřazené posloupnosti
Neexistuje žádný deterministický algoritmus, který by našel číslo v -prvkové seřazené množině použitím řádově méně než operací
Protože i když je pole úplně seřazené, binárním vyhledáním máme
Problém řazení
= alespoň
Řazení je ekvivalentní rozpoznání, o kterou permutaci z možných se jedná
Binární strom s listy, takže má hloubku nejméně (Stirlingova formule)