Forutsetning – Asymptotiske notasjoner , Egenskaper til asymptotiske notasjoner , Analyse av algoritmer
1. Stor O-notasjon (O):
Det er definert som øvre grense og øvre grense på en algoritme er den mest tid som kreves (det verste tilfellet).
Stor O-notasjon brukes til å beskrive asymptotisk øvre grense .
Matematisk, hvis f(n) beskriver kjøretiden til en algoritme; f(n) er O(g(n)) hvis det finnes en positiv konstant C og n0 slik at,
0 <= f(n) = n0
n = brukes til å gi øvre grense en funksjon.
Hvis en funksjon er På) , er det automatisk O(n-kvadrat) også.
Grafisk eksempel for Stor O:
python __navn__
2. Stor Omega-notasjon (Ω):
Det er definert som nedre grense og nedre grense på en algoritme er den minste mengden tid som kreves (den mest effektive måten mulig, med andre ord best case).
Akkurat som O notasjon gi en asymptotisk øvre grense , Åh notasjon gir asymptotisk nedre grense .
La f(n) definere kjøretid for en algoritme;
f(n) sies å være Ω(g(n)) hvis det finnes en positiv konstant C og (n0) slik at
0 <= Cg(n) = n0
firma vs selskap
n = brukes til å gi nedre grense for en funksjon
Hvis en funksjon er Ω(n-kvadrat) det er automatisk Å (n) også.
Grafisk eksempel for Stor Omega (Ω):
3. Stor teta-notasjon (Θ):
Det er definert som tightest bound og tightest bound er den beste av alle de verste tilfelle-tidene som algoritmen kan ta.
La f(n) definere kjøretiden for en algoritme.
f(n) sies å være Θ(g(n)) hvis f(n) er O(g(n)) og f(n) er Ω(g(n)).
freddie mercury født
Matematisk,
0 <= f(n) = n0
0 <= C2g(n) = n0Ved å slå sammen begge ligningene får vi:
0 <= C2g(n) <= f(n) = n0
Ligningen betyr ganske enkelt at det eksisterer positive konstanter C1 og C2 slik at f(n) er en sandwich mellom C2 g(n) og C1g(n).
Grafisk eksempel på Big Theta (Θ) :
Forskjellen mellom Big oh, Big Omega og Big Theta:
Ja Nei. | Stor O | Big Omega ( Åh) | Stor Theta (T) |
---|---|---|---|
1. | Det er som (<=) veksthastigheten til en algoritme er mindre enn eller lik en bestemt verdi. | Det er som (>=) veksthastigheten er større enn eller lik en spesifisert verdi. | Det er som (==) betyr at veksthastigheten er lik en spesifisert verdi. |
2. | Den øvre grensen for algoritmen er representert ved Big O-notasjon. Bare funksjonen ovenfor er avgrenset av Big O. Asymptotisk øvre grense er gitt av Big O-notasjon. | Algoritmens nedre grense er representert av Omega-notasjon. Den asymptotiske nedre grensen er gitt av Omega-notasjon. | Begrensningen av funksjon ovenfra og nedenfra er representert ved theta-notasjon. Den nøyaktige asymptotiske oppførselen gjøres av denne theta-notasjonen. |
3. | Big O – Upper Bound | Big Omega (Ω) – Nedre grense | Big Theta (Θ) – Tight Bound |
4. | Det er definert som øvre grense og øvre grense på en algoritme er den mest tid som kreves (det verste tilfellet). | Det er definert som nedre grense og nedre grense på en algoritme er den minste mengden tid som kreves (den mest effektive måten mulig, med andre ord best case). | Det er definert som tightest bound og tightest bound er den beste av alle de verste tilfelle-tidene som algoritmen kan ta. |
5. | Matematisk: Big Oh er 0 <= f(n) = n0 | Matematisk: Big Omega er 0 <= Cg(n) = n0 | Matematisk – Big Theta er 0 <= C2g(n) <= f(n) = n0 |
For mer informasjon, vennligst se: Design og analyse av algoritmer .