Програм се примењује од 25.07.2017..
Упознавање студената са структурама података у оперативној меморији и развој програма који их користе.
Циљ предмета је развој алгоритамског начина мишљења. Студенти ће савладати основне алгоритме који се користе у имплементацији рачунарских програма и методе анализе њихове комплексности, коректности и перформанси. Поред тога, разумеће типове и каратеристике основних структура података, као и начине њихове примене. Након успешно завршеног курса студент познаје концепте апстрактних типова података; рукује линеарним структурама података – низовима, скуповима, мапама, листама, стековима, редовима; познаје концепте анализе ефикасности алгоритама; користи поступке за претраживање и сортирање података; познаје и користи рекурзију у дизајну програма; познаје и користи хеш табеле; познаје и користи стабла.
Апстрактни типови података: појам апстрактног типа података; дефинисање нових типова. Низови: појам низа; операције над низовима; анализа ефикасности операција над низовима; појам матрице; операције над матрицама. Скупови и мапе: појам скупа; имплементација скупа; појам мапе; имплементација мапе; вишедимензионални низови и операције над њима. Анализа алгоритама: О-нотација; анализа функционисања Python листе. Претраживање и сортирање: линеарна и бинарна претрага; алгоритми за сортирање; операције над сортираним низовима. Листа, стек и ред: једноструко спрегнуте листе: појам и операције; примене листи; двоструко спрегнуте листе; стек - појам и операције; ред - појам и операције; имплементација стека и реда; вишеструко спрегнуте листе. Рекурзија. појам и особине рекурзије; имплементација рекурзије; примене рекурзије. Хеш табеле: појам хеш функције; хеш табеле - појам и операције; примене хеширања. Стабла: бинарна стабла - појам и операције; Н-арна стабла; стабла за претраживање.
Предавања; Рачунарске вежбе; Консултације. Испит је усмени. Оцена испита се формира на основу успеха са лабораторијских вежби и усменог испита.
Аутори | Назив | Година | Издавач | Језик |
---|
R.D. Necaise | Data Structures and Algorithms Using Python | 2010 | Wiley | Енглески |
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein | Introduction to Algorithms, 3rd Edition | 2009 | MIT Press | Енглески |
Cormen, T.H. et al. | Introduction to Algorithms | 2009 | MIT Press, Cambridge | Енглески |
Жељко Кановић, Милан Рапаић, Зоран Јеличић | Еволутивни оптимизациони алгоритми у инжењерској пракси | 2017 | ФТН | Српски језик |
Ford, W. | Numerical Linear Algebra with Applications | 2014 | Elsevier | Енглески |
Предметна активност | Предиспитна | Обавезна | Број поена |
---|
Предметни пројекат | да | да | 50.00 |
Теоријски део испита | не | да | 50.00 |
| Име и презиме | Вид наставе |
---|
| | Предавања |
| | Предавања |
| | Предавања |
| | Рачунарске вежбе |
| | Рачунарске вежбе |
| | Рачунарске вежбе |
| | Рачунарске вежбе |