Notace (známější pod označením O-notace) se používá v matematice k porovnávání asymptotického chování členů posloupností, či k porovnání rychlosti růstu dvou posloupností. Vyjádříme pomocí ní rychlost růstu poslopnosti v nekonečnu. Tato notace se velmi často využívá v informatice k porovnávání časových a paměťových složitostí algoritmů. U každého algoritmu jsme schopni určit horní odhad složitosti, dolní odhady (až na triviální -- velikost vstupu, výstupu) jsou složitější.
Byla vynalezena Paulem Bachmannem a Edmundem Landauem (německý matematik, 1877 – 1938) a dalšími.
Často se můžete setkat se zápisem an = O(bn), který není příliš šťastný vzhledem k tomu, že nejde o rovnost. Lepší je ho chápat ve smyslu an ∈ O(bn).
Asymptoticky rovné ∼
Vyjadřuje, že posloupnosti a mají stejné asymptotické chování v nekonečnu, tedy mají stejnou množinu hromadných bodů. Což znamená, že hodnoty velkých indexů posloupnosti jsou takřka stejné a liší se pouze multiplikativními a aditivními konstantami.
Řekneme, že an ∼ bn se pro velká n chovají stejně, právě když existuje posloupnost a ∈ ℕ taková, že
a , pro každé $n ≥ n_0$$.
Pokud je bn kladné, tzn. bn > 0 pak lze definici přeformulovat do praktičtějšího tvaru
- .
Tohle je častý předpoklad, protože nebudete mít zápornou dobu běhu programu.
Rychlost růstu O()
Horní asymptotický odhad, vyjadřuje, že posloupnost an neroste rychleji než bn, až na konstantu.
Značení říká, že je je asymptoticky omezená , právě když existuje c < 0 a ∈ ℕ taková, že
pro všechna $n ≥ n_0$$.
Alternativně platí je omezená.
Vlastnosti
Θ je silnější podmínka, než O a Ω a říká nám, že Θ je současně asymptotickou horní i dolní mezí.
Pozor, v tvrzení opačná implikace neplatí. Lze nalézt funkce f(n), g(n) takové, že f(n) = Θ(g(n)), ale limita jejich podílu neexistuje.
Chceme-li asymptotickou těsnou mez vyjádřit ekvivalentním tvrzením, pak lze říci jen ⇔ podíly a jsou omezené
Zákony asymptotické aritmetiky
Tranzitivita
- (podobně pro Ω, o, ω)