You are on page 1of 7

Strukture podataka i algoritmi

Kolokvijum 1

1. Koji od ovih uslova mora biti zadovoljen za sekvencijalnu pretragu niza?

niz mora biti sortiran


niz mora imati malu duinu
elementi niza se mogu uporedivati
da li su jednaki traenoj vrednosti

elementi niza se mogu uporedivati


da li su manji, veci ili jednaki traenoj vrednosti

2. Koji od ovih uslova mora biti zadovoljen za binarnu pretragu niza?

niz mora biti sortiran


niz mora imati malu duinu
elementi niza se mogu uporedivati
da li su jednaki traenoj vrednosti

elementi niza se mogu uporedivati


da li su manji, veci ili jednaki traenoj vrednosti

3. Matrice se c esto nazivaju drugim imenom i

jednodimenzionalni nizovi
dvodimenzionalni nizovi
trodimenzionalni nizovi
tabele

4. Koje od ovih struktura podataka su indeksirane strukture, odnosno kod kojih se za


pristup elementima koriste indeksi?

Liste
Nizovi
Matrice
Stekovi
Redovi

5. Koje od ovih struktura podataka su dinamicke strukture, odnosno c ija se velicina


moe menjati?

Liste
Nizovi
Matrice
Stekovi
Redovi

Strukture podataka i algoritmi

Kolokvijum 1

6. Na koju od ovih struktura podataka se moe primeniti sekvencijalna pretraga?

neureden
niz
sortiran niz
sortirana lista
jednostruko povezana lista
dvostruko povezana lista

7. Na koju od ovih struktura podataka se ne moe primeniti binarna pretraga?

neureden
niz
sortiran niz
sortirana lista
jednostruko povezana lista
dvostruko povezana lista

8. Kod koje od ovih struktura podataka se elementi mogu dodavati i uklanjati na proizvoljnom mestu?

niz
lista
stek
red za c ekanje

9. Kod koje od ovih struktura podataka se elementi dodaju i uklanjaju samo sa vrha?

niz
lista
stek
red za c ekanje

10. Kod koje od ovih struktura podataka se elementi dodaju samo na kraj i uklanjaju samo
sa pocetka?

niz
lista
stek
red za c ekanje

Strukture podataka i algoritmi

Kolokvijum 1

11. Kod koje od ovih struktura podataka se za operacije dodavanja i uklanjanja elementa
koriste termini push i pop?

niz
lista
stek
red za c ekanje

12. Kod koje od ovih struktura podataka se za operacije dodavanja i uklanjanja elementa
koriste termini enqueue i dequeue?

niz
lista
stek
red za c ekanje

13. Napiite algoritam kojim se odreduje


indeks poslednjeg najmanjeg elementa nume
rickog niza a od n elemenata.
// Ulaz: niz a , broj elemenata n
// Izlaz: indeks poslednjeg najmanjeg elementa niza a
algorithm min-last(a, n)

14. Napiite algoritam kojim se odreduje


indeks poslednjeg najveceg elementa numeric
kog niza a od n elemenata.
// Ulaz: niz a , broj elemenata n
// Izlaz: indeks poslednjeg najve
ceg elementa niza a
algorithm max-last(a, n)

15. Napiite algoritam kojim se odreduje


da li je numericki niz a od n elemenata sortiran

u rastucem redosledu.

Strukture podataka i algoritmi

Kolokvijum 1

// Ulaz: niz a , broj elemenata n


// Izlaz: true - niz sortiran, false - niz nije sortiran
algorithm is-sorted(a, n)

16. Pretpostavimo da numericki niz a od n elemenata sadri samo elemente 0 i 1 u proizvoljnom redosledu. Napiite algoritam kojim se niz a preureduje
tako da se svi

elementi 0 nalaze na pocetku niza levo od svih elemenata 1. Na primer, za dati niz
a = (1, 0, 0, 1, 1, 0, 0), rezultat treba da bude niz a = (0, 0, 0, 0, 1, 1, 1). (Napomena: algoritam treba da bude efikasniji od nekog algoritma za sortiranje niza.)
// Ulaz: niz a sa elementima 0 i 1, broj elemenata n
// Izlaz: niz a sa svim elementima 0 levo od svih elemenata 1
algorithm 0-1(a, n)

17. Odredite vreme izvravanja ovog algoritamskog fragmenata za velike vrednosti n. Vreme izrazite u O-notaciji i napiite svoj odgovor sa obrazloenjem (izvodenjem)
u pro
duetku sa desne strane fragmenta.
if (x == 0) then
for i = 1 to n do
a[i] = i;

18. Odredite vreme izvravanja ovog algoritamskog fragmenata za velike vrednosti n. Vreme izrazite u O-notaciji i napiite svoj odgovor sa obrazloenjem (izvodenjem)
u pro
duetku sa desne strane fragmenta.
i = 1;
repeat
a[i] = b[i] + c[i];
i = i + 1;
until (i == n);

Strukture podataka i algoritmi

Kolokvijum 1

19. Odredite vreme izvravanja ovog algoritamskog fragmenata za velike vrednosti n. Vreme izrazite u O-notaciji i napiite svoj odgovor sa obrazloenjem (izvodenjem)
u pro
duetku sa desne strane fragmenta.
if (x == 0) then
for i = 1 to n do
for j = 1 to n do
a[i,j] = 0;
else
for i = 1 to n do
a[i,i] = 1;

20. Odredite vreme izvravanja ovog algoritamskog fragmenata za velike vrednosti n. Vreme izrazite u O-notaciji i napiite svoj odgovor sa obrazloenjem (izvodenjem)
u pro
duetku sa desne strane fragmenta.
for i = 1 to n do
for j = 1 to n
if (i == j)
a[i,j] =
else
a[i,j] =

do
then
1;
0;

21. Ilustrujte izvravanje algoritma za sortiranje niza zamenjivanjem elemenata (bubblesort) ukoliko se taj algoritam primenjuje za ulazni niz a = (9, 2, 3, 7, 5). Preciznije, u
jednom redu donje tabele navedite sadraj niza a posle svake glavne iteracije tog algoritma. (Napomena: svih 7 redova tabele se ne moraju iskoristiti ukoliko se algoritam ranije zavrava.)

1. iteracija
2. iteracija
3. iteracija
4. iteracija
5. iteracija
6. iteracija
7. iteracija

22. Ilustrujte izvravanje algoritma za sortiranje niza umetanjem elemenata (insert-sort)


ukoliko se taj algoritam primenjuje za ulazni niz a = (9, 2, 3, 7, 5). Preciznije, u jednom
redu donje tabele navedite sadraj niza a posle svake glavne iteracije tog algoritma.
(Napomena: svih 7 redova tabele se ne moraju iskoristiti ukoliko se algoritam ranije
zavrava.)

Strukture podataka i algoritmi

Kolokvijum 1

1. iteracija
2. iteracija
3. iteracija
4. iteracija
5. iteracija
6. iteracija
7. iteracija

23. Ilustrujte izvravanje algoritma za sortiranje niza izborom elemenata (select-sort) ukoliko se taj algoritam primenjuje za ulazni niz a = (9, 2, 3, 7, 5). Preciznije, u jednom
redu donje tabele navedite sadraj niza a posle svake glavne iteracije tog algoritma.
(Napomena: svih 7 redova tabele se ne moraju iskoristiti ukoliko se algoritam ranije
zavrava.)

1. iteracija
2. iteracija
3. iteracija
4. iteracija
5. iteracija
6. iteracija
7. iteracija

24. U praznom prostoru iza ovog pitanja, prikaite sadraj steka s i promenljive x posle
izvravanja svake od ovih operacija po redu:
1. stack-make(s)
4. x = pop(s)
7. x = pop(s)

2. push(17, s)
5. x = peek(s)
8. x = pop(s)

3. push(23, s)
6. push(31, s)

Strukture podataka i algoritmi

Kolokvijum 1

25. U praznom prostoru iza ovog pitanja, prikaite sadraj reda q i promenljive x posle
izvravanja svake od ovih operacija po redu:
1. queue-make(q)
4. x = dequeue(q)
7. x = dequeue(q)

2. enqueue(17, q)
5. enqueue(31, q)
8. enqueue(31, q)

3. enqueue(23, q)
6. x = dequeue(q)

You might also like