Předpoklad - Asymptotické notace , Vlastnosti asymptotických notací , Analýza algoritmů
1. Velké O (O):
Je definována jako horní mez a horní mez na algoritmu je nejvíce potřebného času (výkon v nejhorším případě).
Velký O zápis se používá k popisu asymptotická horní hranice .
Matematicky, pokud f(n) popisuje dobu běhu algoritmu; f(n) je O(g(n)) pokud existuje kladná konstanta C a n0 takové,
0 <= f(n) = n0
n = používá se k zadání horní hranice funkce.
Pokud je funkce Na) , je to automaticky O(n-čtverec) také.
Grafický příklad pro Velké O:
git pull origin master
2. Velká omega notace (Ω):
Je definována jako dolní mez a dolní mez algoritmu vyžaduje nejmenší množství času (nejefektivnější možný způsob, jinými slovy nejlepší případ).
Stejně jako Ó notový zápis poskytnout asymptotická horní hranice , Ach notový zápis poskytuje asymptotická dolní mez .
Nechat f(n) definovat dobu běhu algoritmu;
f(n) se říká, že je Ω(g(n)) pokud existuje kladná konstanta C a (n0) takové, že
0 <= Cg(n) = n0
hashset vs hashmap
n = používá se k dané dolní hranici funkce
Pokud je funkce Ω (n-čtverec) je to automaticky oh(n) také.
Grafický příklad pro Velká Omega (Ω):
3. Velká theta notace (Θ):
Je definována jako nejtěsnější vazba a nejtěsnější vazba je nejlepší ze všech nejhorších časů, které algoritmus může trvat.
Nechat f(n) definovat dobu běhu algoritmu.
f(n) se říká, že je Θ(g(n)) -li f(n) je O(g(n)) a f(n) je Ω(g(n)).
Matematicky,
0 <= f(n) = n0
0 <= C2g(n) = n0Sloučením obou rovnic dostaneme:
array.sort v jazyce Java0 <= C2g(n) <= f(n) = n0
Rovnice jednoduše znamená, že existují kladné konstanty C1 a C2, takže f(n) je sendvič mezi C2 g(n) a C1g(n).
Grafický příklad Velká théta (Θ) :
Rozdíl mezi Big oh, Big Omega a Big Theta:
Ano ne. | Velký O | Velká Omega ( Ach) | Velká Theta (já) |
---|---|---|---|
1. | Je to jako (<=) rychlost růstu algoritmu je menší nebo rovna určité hodnotě. | Je to jako (>=) rychlost růstu je větší nebo rovna zadané hodnotě. | Je to jako (==) což znamená, že tempo růstu se rovná zadané hodnotě. |
2. | Horní mez algoritmu představuje zápis Big O. Pouze výše uvedená funkce je omezena Big O. Asymptotická horní hranice je dána notací Big O. | Spodní mez algoritmu představuje notace Omega. Asymptotická dolní mez je dána notací Omega. | Omezení funkce shora a zdola je reprezentováno zápisem theta. Přesné asymptotické chování se provádí tímto zápisem theta. |
3. | Velké O – horní hranice | Velká Omega (Ω) – Dolní hranice | Big Theta (Θ) – Pevná vazba |
4. | Je definována jako horní mez a horní mez na algoritmu je nejvíce potřebný čas (výkon v nejhorším případě). | Je definována jako dolní mez a dolní mez algoritmu vyžaduje nejmenší množství času (nejefektivnější možný způsob, jinými slovy nejlepší případ). | Je definována jako nejtěsnější vazba a nejtěsnější vazba je nejlepší ze všech nejhorších časů, které algoritmus může trvat. |
5. | Matematicky: Velký Oh je 0 <= f(n) = n0 | Matematicky: Velká Omega je 0 <= Cg(n) = n0 | Matematicky – velká theta je 0 <= C2g(n) <= f(n) = n0 |
Další podrobnosti naleznete na adrese: Návrh a analýza algoritmů .