logo

Atšķirība starp Big O un Big Theta Θ un Big Omega Ω apzīmējumiem

Priekšnosacījums - Asimptotiskie apzīmējumi , Asimptotisko apzīmējumu īpašības , Algoritmu analīze
1. Lielais O apzīmējums (O):

Tas ir definēts kā augšējā robeža, un algoritma augšējā robeža ir visvairāk nepieciešamais laiks (sliktākā gadījuma veiktspēja).
Lielais O apzīmējums tiek izmantots, lai aprakstītu asimptotiskā augšējā robeža .



Matemātiski, ja f(n) apraksta algoritma darbības laiku; f(n) ir O(g(n)) ja pastāv pozitīva konstante C un n0 tāds, ka,

0 <= f(n) = n0

n = izmanto, lai piešķirtu funkciju augšējai robežai.
Ja funkcija ir O(n) , tas notiek automātiski O(n-kvadrāts) arī.



Grafisks piemērs priekš Lielais O:

kā java izsaukt metodi

Grafisks piemērs Big oh (O)

2. Lielais Omega apzīmējums (Ω):



Tas tiek definēts kā algoritma apakšējā robeža un apakšējā robeža ir vismazākais nepieciešamais laiks (visefektīvākais iespējamais veids, citiem vārdiem sakot, labākais gadījums).
Tieši kā O apzīmējums nodrošināt an asimptotiskā augšējā robeža , Ak apzīmējums nodrošina asimptotiskā apakšējā robeža .

Ļaujiet f(n) definēt algoritma darbības laiku;
f(n) teikts, ka ir Ω(g(n)) ja pastāv pozitīva konstante C un (n0) tāds, ka

0 <= Cg(n) = n0

hashset vs hashmap

n = izmanto, lai dotu funkcijas apakšējo robežu
Ja funkcija ir Ω (n-kvadrāts) tas ir automātiski Ak(n) arī.

Grafisks piemērs priekš Lielā Omega (Ω):

Big Omega (Ω) grafisks piemērs

3. Lielais teta apzīmējums (Θ) :

Tas tiek definēts kā visciešākā saite un visciešākā saite ir labākais no visiem sliktākajiem gadījumiem, ko algoritms var veikt.

Ļaujiet f(n) definēt algoritma darbības laiku.
f(n) teikts, ka ir Θ(g(n)) ja f(n) ir O(g(n)) un f(n) ir Ω(g(n)).

Matemātiski,

0 <= f(n) = n0
0 <= C2g(n) = n0

Apvienojot abus vienādojumus, mēs iegūstam:

javascript base64 atšifrējums

0 <= C2g(n) <= f(n) = n0

Vienādojums vienkārši nozīmē, ka pastāv pozitīvas konstantes C1 un C2 tā, ka f(n) ir starp C2 g(n) un C1g(n).

Grafisks piemērs Big Theta (Θ) :

Lielā teta (Θ) grafisks piemērs

Atšķirība starp Big Oh, Big Omega un Big Theta:

Jā nē.

Lielais O Lielā Omega ( Ak) Lielais Teta (es)
1. Tas ir kā (<=)
algoritma pieauguma ātrums ir mazāks vai vienāds ar noteiktu vērtību.
Tas ir kā (>=)
pieauguma temps ir lielāks vai vienāds ar noteiktu vērtību.
Tas ir kā (==)
tas nozīmē, ka pieauguma ātrums ir vienāds ar noteiktu vērtību.
2. Algoritma augšējo robežu attēlo Big O apzīmējums. Tikai iepriekš minētā funkcija ir ierobežota ar Big O. Asimptotisko augšējo robežu nosaka ar Big O apzīmējumu. Algoritma apakšējā robeža tiek attēlota ar Omega apzīmējumu. Asimptotisko apakšējo robežu nosaka Omega apzīmējums. Funkcijas robežu no augšas un apakšas attēlo teta apzīmējums. Precīzu asimptotisko uzvedību nosaka šis teta apzīmējums.
3. Lielais O — augšējā robeža Big Omega (Ω) — apakšējā robeža Big Theta (Θ) — stingrs ierobežojums
4. Tas tiek definēts kā algoritma augšējā robeža un augšējā robeža ir visvairāk nepieciešamais laiks (sliktākā veiktspēja). Tas tiek definēts kā algoritma apakšējā robeža un apakšējā robeža ir vismazākais nepieciešamais laiks (visefektīvākais iespējamais veids, citiem vārdiem sakot, labākais gadījums). Tas tiek definēts kā visciešākā saite un visciešākā saistība ir labākais no visiem sliktākajiem gadījumiem, ko algoritms var pieņemt.
5. Matemātiski: Big Oh ir 0 <= f(n) = n0 Matemātiski: Big Omega ir 0 <= Cg(n) = n0 Matemātiski — lielais teta ir 0 <= C2g(n) <= f(n) = n0

Lai iegūtu sīkāku informāciju, lūdzu, skatiet: Algoritmu projektēšana un analīze .