Förutsättning – Asymptotiska notationer , Egenskaper för asymptotiska notationer , Analys av algoritmer
1. Stor O-notation (O):
Det definieras som övre gräns och övre gräns på en algoritm är den mest tid som krävs (det värsta fallet prestanda).
Stor O-notation används för att beskriva asymptotisk övre gräns .
Matematiskt, om f(n) beskriver körtiden för en algoritm; f(n) är O(g(n)) om det finns en positiv konstant C och n0 Så att,
0 <= f(n) = nO
n = används för att ge övre gränsen en funktion.
Om en funktion är På) , det är automatiskt O(n-kvadrat) också.
Grafiskt exempel för Stort O:
kajal aggarwal
2. Stor Omega-notation (Ω):
Det definieras som att nedre gräns och nedre gräns på en algoritm är den minsta tid som krävs (det mest effektiva sättet som möjligt, med andra ord bästa fallet).
Precis som O notation tillhandahålla en asymptotisk övre gräns , Åh notation tillhandahåller asymptotisk nedre gräns .
Låta f(n) definiera körtid för en algoritm;
f(n) sägs vara Ω(g(n)) om det finns en positiv konstant C och (n0) Så att
0 <= Cg(n) = nO
hashset vs hashmap
n = används för att ge en nedre gräns för en funktion
Om en funktion är Ω(n-kvadrat) det är automatiskt Åh(n) också.
Grafiskt exempel för Big Omega (Ω):
3. Big Theta notation (Θ):
Det definieras som tightest bound och tightest bound är den bästa av alla de värsta tiderna som algoritmen kan ta.
Låta f(n) definiera körtid för en algoritm.
f(n) sägs vara Θ(g(n)) om f(n) är O(g(n)) och f(n) är Ω(g(n)).
Matematiskt,
0 <= f(n) = nO
0 <= C2g(n) = nOOm vi slår samman båda ekvationerna får vi:
0 <= C2g(n) <= f(n) = nO
upphöjd i illustrator
Ekvationen betyder helt enkelt att det finns positiva konstanter C1 och C2 så att f(n) är en sandwich mellan C2 g(n) och C1g(n).
Grafiskt exempel på Big Theta (Θ) :
Skillnaden mellan Big oh, Big Omega och Big Theta:
Ja Nej. | Stora O | Big Omega ( Åh) | Stora Theta (jag) |
---|---|---|---|
1. | Det är som (<=) tillväxthastigheten för en algoritm är mindre än eller lika med ett specifikt värde. | Det är som (>=) tillväxttakten är större än eller lika med ett angivet värde. | Det är som (==) vilket innebär att tillväxttakten är lika med ett specificerat värde. |
2. | Den övre gränsen för algoritmen representeras av Big O-notation. Endast ovanstående funktion begränsas av Big O. Asymptotisk övre gräns ges av Big O-notation. | Algoritmens nedre gräns representeras av Omega-notation. Den asymptotiska nedre gränsen ges av Omega-notation. | Begränsningen av funktion uppifrån och under representeras av theta-notation. Det exakta asymptotiska beteendet görs av denna theta-notation. |
3. | Big O – Upper Bound | Big Omega (Ω) – Nedre gräns | Big Theta (Θ) – Tight Bound |
4. | Det definieras som övre gräns och övre gräns på en algoritm är den mest tid som krävs (det värsta fallet prestanda). | Det definieras som att nedre gräns och lägre gräns på en algoritm är den minsta tid som krävs (det mest effektiva sättet som möjligt, med andra ord bästa fallet). | Det definieras som tightest bound och tightest bound är den bästa av alla de värsta tiderna som algoritmen kan ta. |
5. | Matematiskt: Big Oh är 0 <= f(n) = n0 | Matematiskt: Big Omega är 0 <= Cg(n) = n0 | Matematiskt – Big Theta är 0 <= C2g(n) <= f(n) = n0 |
För mer information, se: Design och analys av algoritmer .