Fakultet tehničkih nauka

Predmet: Algoritmi i strukture podataka (17.SIT049)

Matične organizacione jedinice predmeta:
Osnovne informacije:
 
Kategorija Stručno-aplikativni
Uža naučna oblast Primenjene računarske nauke i informatika
Multidisciplinarna Ne
ESPB 8
Cilj:

Upoznavanje studenata sa strukturama podataka u operativnoj memoriji i razvoj programa koji ih koriste.

Ishod:

Cilj predmeta je razvoj algoritamskog načina mišljenja. Studenti će savladati osnovne algoritme koji se koriste u implementaciji računarskih programa i metode analize njihove kompleksnosti, korektnosti i performansi. Pored toga, razumeće tipove i karateristike osnovnih struktura podataka, kao i načine njihove primene. Nakon uspešno završenog kursa student poznaje koncepte apstraktnih tipova podataka; rukuje linearnim strukturama podataka – nizovima, skupovima, mapama, listama, stekovima, redovima; poznaje koncepte analize efikasnosti algoritama; koristi postupke za pretraživanje i sortiranje podataka; poznaje i koristi rekurziju u dizajnu programa; poznaje i koristi heš tabele; poznaje i koristi stabla.

Sadržaj:

Apstraktni tipovi podataka: pojam apstraktnog tipa podataka; definisanje novih tipova. Nizovi: pojam niza; operacije nad nizovima; analiza efikasnosti operacija nad nizovima; pojam matrice; operacije nad matricama. Skupovi i mape: pojam skupa; implementacija skupa; pojam mape; implementacija mape; višedimenzionalni nizovi i operacije nad njima. Analiza algoritama: O-notacija; analiza funkcionisanja Python liste. Pretraživanje i sortiranje: linearna i binarna pretraga; algoritmi za sortiranje; operacije nad sortiranim nizovima. Lista, stek i red: jednostruko spregnute liste: pojam i operacije; primene listi; dvostruko spregnute liste; stek - pojam i operacije; red - pojam i operacije; implementacija steka i reda; višestruko spregnute liste. Rekurzija. pojam i osobine rekurzije; implementacija rekurzije; primene rekurzije. Heš tabele: pojam heš funkcije; heš tabele - pojam i operacije; primene heširanja. Stabla: binarna stabla - pojam i operacije; N-arna stabla; stabla za pretraživanje.

Metodologija izvođenja nastave:

Predavanja; Računarske vežbe; Konsultacije. Ispit je usmeni. Ocena ispita se formira na osnovu uspeha sa laboratorijskih vežbi i usmenog ispita.

Literatura:
Autori Naziv Godina Izdavač Jezik
Cormen, T.H. et al. Introduction to Algorithms 2009 MIT Press, Cambridge Engleski
Жељко Кановић, Милан Рапаић, Зоран Јеличић Еволутивни оптимизациони алгоритми у инжењерској пракси 2017 ФТН Srpski jezik
R.D. Necaise Data Structures and Algorithms Using Python 2010 Wiley Engleski
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Introduction to Algorithms, 3rd Edition 2009 MIT Press Engleski
Ford, W. Numerical Linear Algebra with Applications 2014 Elsevier Engleski
Formiranje ocene:
Predmetna aktivnost Predispitna Obavezna Broj poena
Teorijski deo ispita Ne Da 50.00
Predmetni projekat Da Da 50.00
Izvođači nastave:
Računarske vežbe
Predavanja
Predavanja
Računarske vežbe
Predavanja
Računarske vežbe
Računarske vežbe