Voorwaarde - Asymptotische notaties , Eigenschappen van asymptotische notaties , Analyse van algoritmen
1. Big O-notatie (O):
Het wordt gedefinieerd als de bovengrens en de bovengrens van een algoritme is de meeste benodigde tijd (de slechtste prestatie).
Grote O-notatie wordt gebruikt om de te beschrijven asymptotische bovengrens .
Wiskundig gezien, als f(n) beschrijft de looptijd van een algoritme; f(n) is O(g(n)) als er een positieve constante bestaat C En n0 zoals dat,
0 <= f(n) = n0
N = gebruikt om de bovengrens van een functie te geven.
Als er een functie is Op) , het is automatisch O(n-kwadraat) ook.
Grafisch voorbeeld voor Grote O:
stapel sorteren
2. Grote Omega-notatie (Ω):
Het wordt gedefinieerd als de ondergrens en de ondergrens van een algoritme: de minst benodigde hoeveelheid tijd (de meest efficiënte manier mogelijk, met andere woorden het beste geval).
Net als O notatie voorzien van een asymptotische bovengrens , Oh notatie biedt asymptotische ondergrens .
Laten f(n) de looptijd van een algoritme definiëren;
f(n) schijnt zo te zijn Ω(g(n)) als er een positieve constante bestaat C En (n0) zoals dat
0 <= Cg(n) = n0
conversie van int naar string in Java
N = gebruikt om de ondergrens van een functie te geven
Als er een functie is Ω(n-kwadraat) het is automatisch Oh(n) ook.
Grafisch voorbeeld voor Grote Omega (Ω):
3. Grote Theta-notatie (Θ):
Het wordt gedefinieerd als de strakste grens en de strakste grens is de beste van alle tijden in het slechtste geval die het algoritme kan verdragen.
Laten f(n) de looptijd van een algoritme definiëren.
f(n) schijnt zo te zijn Θ(g(n)) als f(n) is O(g(n)) En f(n) is Ω(g(n)).
css vetgedrukt
Wiskundig,
0 <= f(n) = n0
0 <= C2g(n) = n0Als we beide vergelijkingen samenvoegen, krijgen we:
0 <= C2g(n) <= f(n) = n0
De vergelijking betekent eenvoudigweg dat er positieve constanten C1 en C2 bestaan, zodat f(n) een sandwich is tussen C2 g(n) en C1g(n).
Grafisch voorbeeld van Grote Theta (Θ) :
Verschil tussen Big oh, Big Omega en Big Theta:
Ja nee. | Grote O | Grote Omega ( Oh) | Grote Theta (I) |
---|---|---|---|
1. | Het is als (<=) De groeisnelheid van een algoritme is kleiner dan of gelijk aan een specifieke waarde. | Het is als (>=) De groeisnelheid is groter dan of gelijk aan een bepaalde waarde. | Het is alsof (==) wat betekent dat de groeisnelheid gelijk is aan een bepaalde waarde. |
2. | De bovengrens van het algoritme wordt weergegeven door de Big O-notatie. Alleen de bovenstaande functie wordt begrensd door Big O. Asymptotische bovengrens wordt gegeven door Big O-notatie. | De ondergrens van het algoritme wordt weergegeven door de Omega-notatie. De asymptotische ondergrens wordt gegeven door de Omega-notatie. | De begrenzing van de functie van boven en onder wordt weergegeven door theta-notatie. Het exacte asymptotische gedrag wordt gedaan door deze theta-notatie. |
3. | Grote O – Bovengrens | Grote Omega (Ω) – Ondergrens | Big Theta (Θ) – strak gebonden |
4. | Het wordt gedefinieerd als de bovengrens en de bovengrens van een algoritme: de meeste tijd die nodig is (de slechtste prestatie). | Het wordt gedefinieerd als de ondergrens en de ondergrens van een algoritme: de minst benodigde hoeveelheid tijd (de meest efficiënte manier mogelijk, met andere woorden het beste geval). | Het wordt gedefinieerd als de strakste grens en de strakste grens is de beste van alle tijden in het slechtste geval die het algoritme kan verdragen. |
5. | Wiskundig: Grote Oh is 0 <= f(n) = n0 | Wiskundig: Grote Omega is 0 <= Cg(n) = n0 | Wiskundig gezien – Grote Theta is 0 <= C2g(n) <= f(n) = n0 |
Voor meer details verwijzen wij u naar: Ontwerp en analyse van algoritmen .