V tej vadnici boste izvedeli, kaj so asimptotični zapisi. Spoznali boste tudi zapis Big-O, zapis Theta in zapis Omega.
Učinkovitost algoritma je odvisna od časa, prostora za shranjevanje in drugih virov, potrebnih za izvajanje algoritma. Učinkovitost se meri s pomočjo asimptotičnih zapisov.
Algoritem morda ne bo imel enake zmogljivosti za različne vrste vhodov. S povečanjem vhodne velikosti se bo zmogljivost spremenila.
Študija spremembe zmogljivosti algoritma s spremembo vrstnega reda vhodne velikosti je opredeljena kot asimptotična analiza.
Asimptotični zapisi
Asimptotični zapisi so matematični zapisi, ki se uporabljajo za opis časa delovanja algoritma, ko vhod teži k določeni vrednosti ali omejevalni vrednosti.
Na primer: pri razvrščanju oblačkov je čas, ko je vhodna matrika že razvrščena, čas, ki ga algoritem porabi, linearen, tj. Najboljši primer.
Ko pa je vhodno polje v obratnem stanju, algoritem vzame največ časa (kvadratno), da razvrsti elemente, tj. Najslabši primer.
Ko vhodna matrika ni razvrščena niti v obratnem vrstnem redu, potem traja povprečen čas. Ta trajanja so označena z uporabo asimptotičnih zapisov.
Obstajajo predvsem trije asimptotični zapisi:
- Zapis Big-O
- Omega zapis
- Theta zapis
Velik zapis O (zapis O)
Zapis Big-O predstavlja zgornjo mejo časa delovanja algoritma. Tako daje najslabšo možno zapletenost algoritma.

O (g (n)) = (f (n): obstajajo pozitivne konstante c in n 0, tako da je 0 ≦ f (n) ≦ cg (n) za vse n ≧ n 0 )
Zgornji izraz lahko opišemo kot funkcijo, ki f(n)
pripada množici, O(g(n))
če obstaja pozitivna konstanta c
, ki leži med 0
in cg(n)
za dovolj veliko n
.
Za katero koli vrednost n
čas delovanja algoritma ne presega časa, ki ga določa O(g(n))
.
Ker podaja najslabši čas delovanja algoritma, se pogosto uporablja za analizo algoritma, saj nas vedno zanima najslabši možni scenarij.
Omega zapis (Ω-zapis)
Omega zapis predstavlja spodnjo mejo časa delovanja algoritma. Tako zagotavlja najboljšo zapletenost algoritma.

Ω (g (n)) = (f (n): obstajajo pozitivne konstante c in n 0, tako da je 0 ≦ cg (n) ≦ f (n) za vse n ≧ n 0 )
Zgornji izraz lahko opišemo kot funkcijo, ki f(n)
pripada množici, Ω(g(n))
če obstaja pozitivna konstanta c
, ki leži zgoraj cg(n)
, za dovolj veliko n
.
Za katero koli vrednost n
je najmanjši čas, ki ga zahteva algoritem, podan Omega Ω(g(n))
.
Zapis Theta (Θ-zapis)
Zapis teta zajema funkcijo od zgoraj in spodaj. Ker predstavlja zgornjo in spodnjo mejo časa delovanja algoritma, se uporablja za analizo povprečne zapletenosti algoritma.

Za funkcijo g(n)
, Θ(g(n))
se izračuna po povezavi:
Θ (g (n)) = (f (n): obstajajo pozitivne konstante c 1 , c 2 in n 0, tako da je 0 ≦ c 1 g (n) ≦ f (n) ≦ c 2 g (n) za vse n ≧ n 0 )
Zgornji izraz lahko opišemo kot funkcijo, ki f(n)
pripada množici, Θ(g(n))
če obstajajo pozitivne konstante in je takšna, da jo je mogoče stisniti med in za dovolj velik n.c1
c2
c1g(n)
c2g(n)
Če je funkcija f(n)
nekje vmes in za vse , naj bi bila asimptotično tesno vezana.c1g(n)
c2g(n)
n ≧ n0
f(n)