BubbleSort
Je to třídící algoritmus třídící v čase , pro každý s prvků musíme udělat až porovnání.
InsertionSort
Je to třídící algoritmus s časovou složitostí v nejhorším případě. V každém kroku vkládáme prvek na správné místo mezi již setříděné prvky.
QuickSort
Algoritmus v každé vrstvě stráví času a vrstev je protože zvolením pivota jako “skoromediánu” máme dělení na podobné části. tedy složitost je .
Dolní odhad složitosti porovnávacích třídicích algoritmů
Každý porovnávací třídicí algoritmus má v nejhorším případě časovou složitost alespoň:
Porovnávací třídicí algoritmus lze modelovat jako rozhodovací strom, kde:
- Každý vnitřní uzel představuje porovnání dvou prvků.
- Každá hrana odpovídá výsledku porovnání (např. „menší“ nebo „větší“).
- Každý list odpovídá jedné možné výstupní permutaci.
Aby algoritmus mohl správně roztřídit všech vstupních prvků ve všech případech, musí být strom schopen reprezentovat všechna jejich uspořádání.
Krok 1: Počet možných výstupů
- Všechny možné permutace různých prvků:
- Tedy rozhodovací strom musí mít alespoň listů.
Krok 2: Výška binárního stromu
- Binární strom s výškou má nejvýše listů.
- Musí tedy platit:
- ⇒
Krok 3: Stirlingova aproximace
Zlogaritmujeme:
Tedy: