Vremenska slozenost algoritna u C kod-u

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

primer toga kako se ne pise kod.

slozenost ti je usloznjena, bar u broju operacija (ne razumem termin "vremenska slozenost", ali jako dobro razumem ovo o cemu pricam) jer uvek se n deli sa 2, sto nije pametno, posto treba ubaciti ovako:

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

=


nkrozdvaputaj = n / 2 * j;
for ( i = 0; i< nkrozdvaputaj;i++)
/ * for (j =0; j<n; j++) * / // KOMENTAR
b=1;

ne pravi dva d nizove tamo gde im mesto nije.
 
savet je na mestu, mada za problem koji je postavio uopste nije bitno da li je n/2 ili rezultat

u ovom slucaju ne vodi se racuna o memoriji, a smatra se da se /, *, +, -, mod, =, ++, --, ==, <. >, ... izvrsavaju za isto vreme

isto tako, otkud znas zasto se koristi 2d niz? mozda je bas potrebno da se ispuni kecevima...
u svakom slucaju - komentar van teme
 

Back
Top