Časová složitost
Vyjadřuje závislost času potřebného pro provedení výpočtu na rozsahu (velikosti) vstupních dat.
Rozlišujeme časovou složitost v nejlepším, nejhorším a průměrném případě.
Θ notace
—
: f roste asymptoticky stejně rychle jako g
O notace
—
: f roste asymptoticky rychleji než g
Ω notace
—
: f roste asymptoticky pomaleji než g
Permutace
Generování všech permutací n-prvkové posloupnosti
Polynom
Evaluace v bodě .
Technika pro přesnější určení složitosti.
Zásobník
Zásobník
operace | složitost | kredity |
---|---|---|
PUSH | 1 | 2 |
POP | 1 | 0 |
MULTIPOP | 0 |
Zásobník
operace | složitost | amortizovaná cena |
---|---|---|
PUSH | 1 | |
POP | 1 | |
MULTIPOP |
Operace | Seznam | Binární halda | Binomiální halda | Fibonacciho halda |
---|---|---|---|---|
MAKE_HEAP | ||||
MINIMUM | ||||
INSERT | * | |||
UNION | ||||
EXTRACT_MIN | * | |||
DELETE | * | |||
DECREASE_KEY | * |
* amortizovaná složitost
Fibonacciho halda
extract-min
. decrease-key
potomka je přesunut jako nový strom. algoritmus | MAKE_SET | UNION | FIND_SET |
---|---|---|---|
reverzní stromy | |||
reverzní stromy (optimalizace) | |||
plytké stromy |
Stromy s kompresí: Posloupnost m operací UNION, FIND_SET a MAKE_SET, z toho n operací MAKE_SET má složitost
Reverzní stromy (Reversed trees)
Plytké stromy (Shallow threaded trees)
Stromy s kompresí (Trees with path compresion)
Algoritmy pro:
Algoritmus | Předspracování | Vyhledávání |
---|---|---|
Úplné prohledávání | ||
Karp-Rabin * | ||
Konečné automaty | ||
Knuth-Morriss-Pratt | ||
Boyer-Moore * |
* Očekávaná složitost je výrazně lepší.
Karp-Rabin
Užití konečných automatů
KMP
Boyer-Moore