Predmet detaljno upoznaje studente sa strukturama podataka koje se koriste u programskom jeziku Java, osnovima analize efikasnosti algoritama kao i osnovnim algoritmima sortiranja i njihovom implementacijom. Pored izučavanja koncepta rekurzije i uobičajenih primera iz ove oblasti, studenti izučavaju generičke klase i metode, kao i standradne generičke klase koje su deo Java Collection Framework-a: liste, stekove, redove i prioritetne redove, setove i mape, pri čemu je fokus na korišćenju a ne na implementaciji pomenutih generičkih klasa. U okviru analize algoritama studenti izučavaju metode asimptotske analize (utvrđujući razlike među njima), klase standardne složenosti, metode empirijskog merenja performansi, kao i usaglašavanja vremenskih i prostornih zahteva u algoritmima. U tu svrhu se proučavaju standardni problemi iz oblasti računarskih nauka, i vrši analiza efikasnosti algoritama za njihovo rešavanje. Na kraju se studenti upoznaju sa dobro poznazim metodama sortiranja, njihovom implementacijom, kao i analizom vremenske složenosti svakog od metoda. |
Program predmeta obuhvata sledeće nastavne jedinice:
- Rekurzija.
- Generici.
- Generičke klase: List, Stack i Queue i Prioriy Queue. Setovi i Mape.
- Razvoj efikasnih algoritama.
- Sortiranje.
- Radionica: Razvoj programa sa rekurzijom, genericima, listama, redovima, stekovima, sa setovima i mapama, sa sortiranjem i primenom i analizom algoritama.
|