You are on page 1of 1

1.

Odredi funkciju vremenske složenosti T(n) i red O(T(n)) za slijedeći kod


int a = 0, b = 0;
for (i = 0; i < N; i++) {
    a = a + rand();
}
for (j = 0; j < M; j++) {
    b = b + rand();
}
Rješenje: T(n) = n + m (Napomena: N je ulazna količina podataka dok je M konstanta)
Red je O(n)
2. Odredi funkciju vremenske složenosti T(n) i red O(T(n)) za slijedeći kod
int a = 0;
for (i = 0; i < N; i++) {
    for (j = N; j > i; j--) {
        a = a + i + j;
    }
}
Rješenje: T(n) = n * n
Red je 0(n*n)

3. Odredi funkciju vremenske složenosti T(n) i red O(T(n)) za slijedeći kod


int i, j, k = 0;
for (i = n / 2; i <= n; i++) {
    for (j = 2; j <= n; j = j * 2) {
        k = k + n / 2;
    }
}
Rješenje: T(n) = (n/2) * logn
Red je O(nlogn)

4. Što znači kad kažemo da je algoritam X asimptotski učinkovitiji od algoritma Y?

a. Algoritam X će uvijek biti bolji odabir za male količine podataka


b. Algoritam X će uvijek biti bolji odabir za velike količine podataka
c. Algoritam Y će uvijek biti bolji odabir za male količine podataka
d. Algoritam X će uvijek biti bolji odabir za sve količine podataka

Rješenje: b. Algoritam X će uvijek biti bolji odabir za velike količine podataka

5. Odredi funkciju vremenske složenosti T(n) i red O(T(n)) za slijedeći kod


int a = 0, i = N;
while (i > 0) {
    a += i;
    i /= 2;
}
Rješenje:T(n) = logn
Red je O(logn)

You might also like