Dolní odhady na binární vyhledávání a na třídění porovnávacími algoritmy
Jedinou povolenou operací je porovnávání. Objekty můžeme vidět jako černé skříňky. Nezajímá nás, o co jde, ale
potřebujeme je umět porovnávat. Čas bude záviset na počtu porovnání.
Rozhodovací strom
Na porovnávací algoritmus se lze dívat jako na strom, který zaznamenává všechna možná porovnání a jejich výsledky.
Každý z možných průběhů algoritmu koresponduje jedné cestě z kořene do listu.
Počet provedených operacích je pak roven počtu vrcholů, kterými jsme prošli. V nejhorším případě tedy hloubce stromu.
Binární vyhledávání
Věta. Rozhodovací strom binárního vyhledávání bude mít alespoň logaritmickou hloubku.
Důkaz. Máme jistě alespoň n možných odpovědí. Víme, že rozhodovací strom je binární.
Binární strom na n vrcholech má hloubku alespoň logn. Hotovo :).
Třídění
Věta. Třídění v porovnávacím modelu potřebuje alespoň Ω(nlogn) času.
Důkaz.
Rozhodovací strom třídění je binární. V každém listu je nějaká permutace vstupních prvků.
Těchto permutací je celkem n!. Výška tedy bude alespoň logn!.