You are on page 1of 3

STRUKTURE PODATAKA I ALGORITMI

Pitanja i zadaci – II kolokvijum

Pitanja
1. Dati pseudokod i objasniti algoritam za određivanje obuhvatnog stabla obilaskom po dubini.
Izvesti složenost za obje reprezentacije grafa.
2. Detaljno objasniti kako radi algoritam particijskog sortiranja (Quicksort). Ilustrovati rad algoritma
pri sortiranju niza 35, 63, 49, 40, 5, 91, 79 i 33 birajudi prvi element u particiji za pivot.
Diskutovati perfromanse u najboljem, srednjem i najgorem slučaju.
3. Objasniti razliku u algoritmima umetanja ključa u B i B+ stablo.

4. Napisati pseudokod i objasniti algoritam interpolacionog pretraživanja. Diskutovati performanse


i objasniti preduslove za njegovu efikasnost. Uporediti performanse sa binarnim pretraživanjem.
5. Objasniti ideju uvođenja B*-stabla i osnovne razlike u odnosu na B stablo.
6. Objasniti razlike u algoritmu umetanja u B-stablo i u B+-stablo.
7. Koje su prednosti, a koji su nedostaci “top-down” stable m-arnog pretraživanja?
8. Napisati pseudokod i objasniti algoritam za sortiranje direktnim umetanjem. Ilustrovati
algoritam pri sortiranju niza 25, 43, 33, 7, 55, 19, 60 i 21. Kolika je složenost algortma u
najboljem, srednjem i najgorem slučaju? Kada se preporučuje njegova upotreba?
9. Izvesti minimalnu visinu binarnog stabla sa n čvorova.

10. U prazno B+ stablo reda 3 umedu se redom ključevi 30, 45, 21, 12, 43, 55, 59, 18, 52, 28, a zatim
se redom brišu ključevi 30, 28. Nacrtati izgled stabla nakon svake od navedenih izmena.
11. Dati pseudokod i objasniti algoritam soritanja direktnom selekcijom. Ilustrovati njegov rad na
primeru sortiranja niza 18, 59, 2, 13, 9, 23, 50 i 47 po koracima. Izvesti složenost ovog algoritma i
diskutovati najbolji i najgori slučaj. Objasniti njegovo poboljšanje – metod kvadratne selekcije.
Kolika je njegova složenost?

12. U prazno B-stablo reda 3 umedu se redom ključevi 22, 16, 30, 40, 8, 4, 10, 20, 12, 18, 15, a zatim
se redom brišu ključevi 15, 22, 18, 10. Nacrtati izgled stabla nakon svake od navedenih izmjena.
13. Objasniti i uporediti dvije efikasne implementacije prioritetnog reda preko binarnih stabala.
Ilustrovati ih na primeru rastudeg prioritetnog reda koji nastaje kada se umedu ključevi 15, 38,
45, 21, 8, 55 i 20, a zatim brišu dva najveda ključa.
14. Izvesti složenost algoritma binarnog pretraživanja niza.
15. Precizno objasniti situacije kada raste i smanjuje se visina B stabla.
16. Definisati osobinu stabilnosti algoritma sortiranja. Navesti algoritme unutrašnjeg sortiranja koji
su stabilni i objasniti za svaki od navedenih kako se postiže stabilnost.
17. Podaci se smeštaju u heš tabelu sa 11 ulaza. Primarna heš funkcija je
hp(K) = K mod 11. Prikazati izgled tabele ako redom dolaze podaci 44, 16, 25, 36, 28, 29, 13 i 21 u
slučaju primene metode dvostrukog heširanja sa sekundarnom heš funkcijom hs(K) = 3 + (K mod
3). Izračunati srednji broj pristupa prilikom uspešnog i neuspešnog traženja u tabeli, kao i
verovatnodu popunjavanja preostalih praznih lokacija pri prvom slededem umetanju, ako su svi
ključevi jednako verovatni
18. Koliko najmanje i koliko najviše ključeva može imati koren B*-stabla?
19. Dati pseudokod i objasniti algoritam sortiranja brojanjem. Ilustrovati rad algoritma na primeru
sortiranja niza 4, 6, 1, 4, 2, 5, 1, 4. Diskutovati stabilnost algoritma.

20. Objasniti pojmove kolizije i ispitnog niza. Dati pseudokodove i objasniti opšte algoritme
umetanja i pretraživanja u heš tabeli za tehnike otvorenog adresiranja.
21. U prazno B-stablo reda 3 umedu se redom ključevi 4, 10, 18, 14, 27, 35, 2, 22, 7, 36, 5, 6, a zatim
se redom brišu ključevi 22, 6, 35, 4. Nacrtati izgled stabla nakon svake od navedenih izmena.
Koliki je srednji broj pristupa prilikom uspešnog i neuspešnog traženja, kao i popunjenost B
stabla, posle svih umetanja ključeva i u završnom stanju?
22. Izvesti vezu između eskterne i interne dužine puta binarnog stable sa n čvorova.
23. Objasniti prednosti i nedostatke povezanog binarnog stabla.
24. Precizno opisati sortiranje metodom umetanja sa smanjenjem inkrementa. Objasniti na čemu se
zasniva efikasnost ovog metoda i kako treba birati sekvencu inkremenata. Ilustrovati rad
algoritma pri sortiranju niza 78 21 53 68 27 88 70 10 57 33 u tri iteracije vodedi računa o izboru
inkremenata.
25. Dati pseudokod i objasniti algoritam nalaženja sledbenika datog čvora u stablu binarnog
pretraživanja.
26. Dati pseudokod i objasniti algoritam sortiranja brojanjem. Ilustrovati postupak po koracima na
primeru niza 4, 1, 5, 1, 4, 6, 1, 2.

Zadaci
1. U stablo binarnog pretraživanja se redom umedu ključevi: 10, 8, 24, 4, 31, 68, 2, 12, 35, 72, 26,
40, 21, a zatim brišu ključevi: 8, 31, 72 i 40. Izvesti visinsko balansiranje datog binarnog stabla
primjenom metoda za balansiranje AVL stabla (balansiranje je potrebno vršiti nakon svakog
umetanja i brisanja).
2. Podaci se smještaju u hash tabelu sa 8 ulaza primjenom kvadratnog pretraživanja. Prikazati
popunjavanje tabele ako redom dolaze ključevi 11, 28, 16, 35, 64, 29 i 55.

3. Napisati (korištenjem pseudokoda ili nekog od programskih jezika, npr. C, C++) funkciju
hash_insert (int key) kojom se vrši umetanje ključa key u hash tabelu primjenom postupka
dvostrukog heširanja. Primarnu i sekundarnu hash funkciju zadati proizvoljno.
4. Podaci se smještaju u hash tabelu sa 8 ulaza primjenom dvostrukog heširanja. Primarna hash
funkcija je hpr(K)= K mod 8 i sekundarna hsek(K)= 3+(K mod 2). Prikazati popunjavanje tabele ako
redom dolaze ključevi 11, 28, 16, 35, 64, 29 i 55.
5. Podaci se smeštaju u heš tabelu sa 10 ulaza. Primarna heš funkcija je h1(K) = K mod 10. Prikazati
punjenje tabele ako redom dolaze ključevi 18, 59, 2, 13, 9, 23, 50 i 47 u slučajevima primjene
sljededih metoda:
a. dvostruko heširanje sa sekundarnom heš funkcijom h2(K) = 3 + (K mod 4),
b. objedinjeno ulančavanje.
6. U stablo binarnog pretraživanja se redom umedu ključevi: 17, 13, 59, 21, 11, 9, 4, 26, 29, 50 i 64,
a zatim brišu ključevi: 21, 59, 4 i 13. Izvesti visinsko balansiranje datog binarnog stabla
primjenom metoda za balansiranje AVL stabla (balansiranje je potrebno vršiti nakon svakog
umetanja i brisanja).
7. Podaci se smještaju u heš tabelu sa 10 ulaza. Primarna heš funkcija je h1(K) = K mod 10. Prikazati
punjenje tabele ako redom dolaze ključevi 4371, 1323, 6173, 4199, 9676 i 1989 u slučajevima
primjene sljededih metoda:
a. dvostruko heširanje sa sekundarnom heš funkcijom h2(K) = 7 - (K mod 7) i
b. odvojeno ulančavanje.
8. Ilustrovati rad shell sort algoritma pri sortiranju niza 38, 70, 63, 94, 7, 82, 24, 11, 45 i 53 u tri
iteracije za sljedede vrijednosti inkremenata: h1=5, h2=3 i h3=1.

You might also like