[ savicmi @ 14.11.2008. 02:52 ] @
Može li neko da mi odredi vremensku složenost sledećeg fragmenta koda. Potrebno je broj koraka prikazati precizno u obliku polinomijalnog izraza i u notaciji sa velikim O.

Code:

for (i=n/2;i>=0;i--)
      if (i%2==0) 
          b[i][i]=1;


[ mmix @ 14.11.2008. 15:37 ] @
Ako nesto ne propustam ovo ti je T(n) = n/2 + n/4 = 3n/4 ϵ O(n)

[ Nedeljko @ 14.11.2008. 16:05 ] @
Petlja se izvrsava n/2 + 1 puta, a dodela 2(n/4) + 1 puta. Zapravo, vreme je a*(n/2+1) + b*(2(n/4)+1), gde je b vreme dodele, dok je a vreme izvrsavanja svega ostalog u petlji. Sve skupa je O(n). Pritom je "/" oznaka za celobrojno delenje sa odbacivanjem ostatka (25 / 6 = 4).
[ wujic @ 15.11.2008. 17:16 ] @
A jel moze nemo meni da odredi vremensku složenost sledećeg fragmenta koda. Potrebno je isto broj koraka prikazati precizno u obliku polinomijalnog izraza i u notaciji sa velikim O.


Code:

for ( i = 0; i< n/2;i++)
for (j =0; j<n; j++)
b[i][j]=1;


[Ovu poruku je menjao wujic dana 15.11.2008. u 18:51 GMT+1]