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: