Složitost
- Complexity of Problems and Algorithms
-
-
Complexity of Problems
-
Complexity of Recursive Algorithms
-
Complexity of Iterative Algorithms
-
- Amortized Complexity
-
-
Introduction
-
Aggregate Method
-
Cashier Method
-
Method of Potential Function
-
Dynamic Tables
-
- Složitost problému
-
Je zdola ohraničená dokazovaním a zhora ohraničená složitostí konkrétního algoritmu, který problém řeší.
- Amortizovaná složitost
-
Nejhorší složitost posloupnosti operací na dané datové struktuře.
Aggregační metoda
Hrubou silou sečti složitosti jednotlivých operací v posloupnosti.
Kreditová (accounting / banker’s) metoda
-
je opravdová složitost -té operace.
-
je počet "kreditů", které -tá operace stojí.
-
Pokud , pak ukládáme kredity "do zásoby".
-
Pokud , musíme doplatit rozdíl kredity, které jsme si dali do zásoby dříve.
-
Před první operací je v zásobě 0 kreditů: .
-
Kreditový invariant: V kreditové zásobě musí být vždy nezáporný počet kreditů: .
-
Amortizovaná složitost libovolné posloupnosti operací je nejvýše součet kreditové hodnoty každé z operací.
Potenciálová metoda
-
Vymysli potenciálovou funkci , která každé datové struktuře, jenž může vzniknout některou z operací, přiřadí reálné číslo.
-
Musí platit a .
-
je opravdová složitost -té operace.
-
je amortizovaná složitost -té operace.
-
Složitost libovolné posloupnosti operací je nejvýše součet amortizovaných složitostí jednotlivých operací.