Program se primenjuje od 25.07.2017..
Upoznavanje studenata sa strukturama podataka u operativnoj memoriji i razvoj programa koji ih koriste.
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.
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.
Predavanja; Računarske vežbe; Konsultacije. Ispit je usmeni. Ocena ispita se formira na osnovu uspeha sa laboratorijskih vežbi i usmenog ispita.
Autori | Naziv | Godina | Izdavač | 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 |
Cormen, T.H. et al. | Introduction to Algorithms | 2009 | MIT Press, Cambridge | Engleski |
Жељко Кановић, Милан Рапаић, Зоран Јеличић | Еволутивни оптимизациони алгоритми у инжењерској пракси | 2017 | ФТН | Srpski jezik |
Ford, W. | Numerical Linear Algebra with Applications | 2014 | Elsevier | Engleski |
Predmetna aktivnost | Predispitna | Obavezna | Broj poena |
---|
Predmetni projekat | da | da | 50.00 |
Teorijski deo ispita | ne | da | 50.00 |
| Ime i prezime | Vid nastave |
---|
| | Predavanja |
| | Predavanja |
| | Predavanja |
| | Računarske vežbe |
| | Računarske vežbe |
| | Računarske vežbe |
| | Računarske vežbe |