Poleg časovnih zahtevnosti reda O(n) (linearna) in O(n2) (kvadratna), ki smo ju videli v tej učni enoti, so seveda možne tudi druge, na primer O(n3), O(n4) in podobno. Zahtevnosti oblike O(nc), pri katerih je c neka konstanta, z eno besedo imenujemo polinomske.
Kakšna je časovna zahtevnost naslednje funkcije, ki vrne dolžino najdaljšega palindromnega podniza v danem nizu s
? (Palindrom je tak niz, ki se od konca proti začetku bere enako kot od začetka proti koncu.) Za velikost problema n uporabi dolžino vhodnega niza s
.
Za vsak n opiši tudi, pri kakšnem nizu dolžine n bi bila ta najslabša možna časovna zahtevnost tudi dejansko dosežena.
Napiši postopek, ki reši problem iz prejšnje naloge (iskanje najdaljšega palindromnega podniza) z manjšo časovno zahtevnostjo.
Še veliko hujše pa so časovne zahtevnosti oblike O(2n), O(3n) in v splošnem O(cn) (za konstanten c); te imenujemo eksponentne (ker imajo velikost problema, n, v eksponentu). Eksponentna zahtevnost narašča (pri dovolj velikih n) hitreje od vsake polinomske in postopki z eksponentno zahtevnostjo so v praksi ponavadi neuporabno počasni, razen mogoče za zelo majhne n. Zahtevnost O(2n) na primer pomeni, da če se n poveča za 1, se čas izvajanja kar podvoji (ker je 2n+1 = 2n · 21 = 2n · 2).