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

  1. je opravdová složitost -té operace.

  2. je počet "kreditů", které -tá operace stojí.

  3. Pokud , pak ukládáme kredity "do zásoby".

  4. Pokud , musíme doplatit rozdíl kredity, které jsme si dali do zásoby dříve.

  5. Před první operací je v zásobě 0 kreditů: .

  6. Kreditový invariant: V kreditové zásobě musí být vždy nezáporný počet kreditů: .

  7. Amortizovaná složitost libovolné posloupnosti operací je nejvýše součet kreditové hodnoty každé z operací.

Potenciálová metoda

  1. Vymysli potenciálovou funkci , která každé datové struktuře, jenž může vzniknout některou z operací, přiřadí reálné číslo.

  2. Musí platit a .

  3. je opravdová složitost -té operace.

  4. je amortizovaná složitost -té operace.

  5. Složitost libovolné posloupnosti operací je nejvýše součet amortizovaných složitostí jednotlivých operací.