Kompleksisuus
Algoritmien analyysissä tutkitaan algoritmien käyttämän (tietokone)ajoajan ja muistin määrän riippuvuutta syöttöaineiston koosta (N). Syöttöaineisto tarkoittaa esimerkiksi taulukon alkioiden joukkoa, kun tutkitaan taulukoita, ja Fibonacciluvun järjestysnumeroa Fibonacci lukujen laskennassa
Algoritmin kompleksisuus Algoritmin suoritukseen vaadittavien resurssien määrän riippuvuus syötteen koosta huonoimmassa tapauksessa Vähennettäessä jonkin resurssin tarvetta saattaa jonkin toisen resurssin tarve kasvaa sovelluskohtainen tasapaino
Aikakompleksisuus Ilmoitetaan syötteen koon n funktiona T(n) Yksikkönä keskeisten alkeisoperaatioiden määrä Usein riittää pelkän lukumäärän suuruusluokan arviointi Asymptoottinen kompleksisuustarkastelu –miten algoritmi käyttäytyy, kun syötteen koko n kasvaa
Asymptoottinen aikakompleksisuus Tarkastellaan yleensä vain niitä lausekkeiden osia, jotka dominoivat lauseketta suurilla n:n arvoilla Usein annetaan kasvua kuvaava funktio tai ylärajafunktio kasvulle
Suuruusluokka Jos T(n) on suuruusluokkaa f(n), merkitään: T(n)=Θ(f(n)) tai T(n) ~ f(n)
Yläraja Jos T(n):n yläraja on f(n), merkitään: T(n) = O(f(n))
Kompleksisuuden kertaluokat eksponentiaalinen: T(n) ~ c n polynomiaalinen:T(n) ~ n c lineaarinen:T(n) ~ n logaritminen:T(n) ~ log c n vakioaikainen:T(n) ~ 1
Kasvunopeuksia log nnn log nn2n2 2n2n E E E308