Naziv predmeta KI202 Java 5:  Strukture podataka i algoritmi - Deo B
Opis predmeta
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
Program predmeta obuhvata sledeće nastavne jedinice:
  1. Implementacija lista, stekova, redova i prioritetnog redova.
  2. Binarna stabla pretraživanja, AVL stablo. Heširanje.
  3. Grafovi i primena grafova.
  4. Težinski grafovi i primena.
  5. 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.