VPRAŠANJA

 

Vsak na izpitu izvleče štiri številke od 1 do 45. Nato ima nekaj časa za pripravo na odgovor. Nato dobi zastavljeni dve vprašanji od teh štirih. Kot tretje vprašanje dobi eno od nalog, ki so bile delane na vajah in ima čas pol ure, da jo reši na računalniku. Pri tem lahko uporabi vse svoje opravljene vaje.

 

  1. Razloži, kaj je časovna zahtevnost algoritma!
  2. Na primeru analiziraj časovno in prostorsko zahtevnost določenega algoritma.
  3. Opiši hitro urejanje.
  4. Primerjaj vstavljanje, izbiranje in urejanje z mehurčki.
  5. Napiši algoritem za urejanje z vstavljanjem in analiziraj njegovo časovno zahtevnost.
  6. Opiši urejanje z izbiranjem.
  7. Opiši vsaj en algoritem za urejanje podatkov na datotekah.
  8. Razloži, zakaj nas pri analizi algoritmov za urejanje običajno zanimajo le primerjave in premeščanje elementov.
  9. Naštej nekaj podatkovnih struktur in na kratko opiši njihove osnovne značilnosti.
  10. Formalno opiši podatkovno strukturo sklad.
  11. Formalno opiši podatkovno strukturo vrsta.
  12. Formalno opiši podatkovno strukturo dvojiško drevo.
  13. S pomočjo osnovnih operacij nad vrsto in skladom obrni vrstni red elementov v skladu.
  14. Opiši, kje bi uporabil podatkovne strukture sklad, vrsta, drevo.
  15. Razloži pojme (glede na drevo) potomec, list, prednik, nivo, sin, urejenost, oče, koren, izrojeno drevo
  16. Pregledi dvojiškega drevesa.
  17. Sestavi algoritem s katerim iz premega in vmesnega vrstnega reda rekonstruiraš drevo.
  18. Sestavi algoritem s katerim poiščeš element v dvojiškem iskalnem drevesu.
  19. Sestavi algoritem s katerim pregledaš poljubno drevo po nivojih.
  20. Sestavi algoritem s katerim ugotoviš višino dvojiškega drevesa. Uporabi le osnovne operacije nad drevesom.
  21. Razloži, kaj je to kopica in sestavi algoritem, ki vstavi nov podatek v kopico.
  22. Sestavi kopico, če vse elemente poznaš vnaprej.
  23. Grafi: Kaj je cikel, kaj je pot, usmerjen graf, poln graf, stopnja vozlišča, povezan graf, sosed.
  24. Opiši možne načine predstavitve grafa.
  25. Sestavi algoritem, s katerim bi pregledal povezan graf.
  26. Graf je predstavljen z matriko sosednosti. Sestavi algoritem, ki za vsako vozlišče ugotovi njegovo stopnjo.
  27. Vemo, da ima neusmerjen graf n vozlišč. Sestavi algoritem, s katerim ugotoviš, če je povezan.
  28. Opiši metodo deli in vladaj.
  29. Kaj lahko poveš o časovni zahtevnosti metode deli in vladaj.
  30. Opiši, kako bi z metodo deli in vladaj poiskal k-ti največji element v tabeli števil.
  31. Razloži, kako z bisekcijo poiščeš element v urejeni tabeli števil.
  32. Naštej probleme, ki jih lahko rešiš s pomočjo metode deli in vladaj in opiši algoritem za enega od teh.
  33. Razloži osnovno idejo požrešne metode in navedi nekaj problemov, ki jih rešujemo z njo.
  34. Razlike med Primovim in Kruskalovim postopkom.
  35. Na praktičnem primeru razloži, kako deluje Primov postopek.
  36. Na praktičnem primeru razloži Kruskalov postopek.
  37. Na praktičnem primeru razloži Dijkstrin algoritem
  38. Problem enostavnega nahrbtnika.
  39. Na primeru 0/1 nahrbtnika razloži osnovno idejo dinamičnega programiranja.
  40. Algoritem za problem 0/1 nahrbtnika – ilustracija na praktičnem zgledu.
  41. Na primeru razporejanja n kraljic na šahovnico razloži, kakšna je ideja sestopanja.
  42. Sestavi program, ki reši problem postavitve n trdnjav na šahovnico.
  43. Naštej nekaj problemov, ki jih rešujemo s pomočjo sestopanja in opiši enega.
  44. Na praktičnem primeru razloži, kako poteka reševanje problema trgovskega potnika z metodo razveji in omeji.
  45. Problem trgovskega potnika.