Nadovezujući se na znanja usvojena u prvom delu predmeta, studenti izučavaju implementaciju već opisanih generičkih klasa u okviru JCF-a: lista, stekova, redova i prioritetnih redova. Zatim se upoznaju sa stablima, binarnim stablima kao efikasnom strukturom za pretraživanje podataka i njihovom implementacijom. Specijalan slučaj binarnog stabla je balansirano AVL stablo, tako da studenti izučavaju osnovne tehnike balansiranja i konstruisanja balansiranog AVL stabla. U cilju implementacije setova i mapa, studenti izučavaju koncept heširanja, heš tabela, kao i metode za razrešavanje sudara ključeva – uobičajenog problema koji se javlja pri radu sa heš tabelama. Studenti se zatim upoznaju sa grafovima, osnovim metodama za predstavljanje grafova, kao i metodama za obilazak grafova. Na kraju se studenti upoznaju sa težinskim grafovima, uobičajenim algoritmima za određivanje minimalnog obuhvatnog stabla grafa, kao i algoritmima za određivanje najkraćeg puta između čvorova povezanog grafa. |
Program predmeta obuhvata sledeće nastavne jedinice:
- Implementacija lista, stekova, redova i prioritetnog redova.
- Binarna stabla pretraživanja, AVL stablo. Heširanje.
- Grafovi i primena grafova.
- Težinski grafovi i primena.
- Radionica: Razvoj programa primenom lista, stekova, redova, razvoj programa za pretraživanje korišćenjem binarnog i AVL stabla, razvoj programa primenom heširanja, grafova i težinskih grafova.
|