Програм се примењује од 23.07.2017..
Стицање општих знања о алгоритмима и структурама података. Разумевање сложености алгоритама и учење бројних алгоритама за честе програмерске проблеме.
Научени основни алгоритми и структуре података. Стечена знања о њиховој имплементацији и практично разумевање сложености извршавања.
Основе алгоритама (дефиниција, особине, анализа алгоритама, опис алгоритма, основни проблеми, сложеност алгоритма, асимптотске нотације …). Проблем претраге (пресудо код, линеарна претрага, бинарна претрага). Проблем сортирања и алгоритми сортирања (selection sort, Insertion sort, рекурзија и техника подели и владај, merge sort, quicksort, Heap структура и heapsort, ред са приоритетима, …). Алгоритми сортирања линеарне сложености (counting sort, radix sort, bucket sort). Редоследна статистика (опис проблема, минимум и максимум, медијана, select алгоритам). Структуре података (основне структуре података, стек и ред, повезане листе, типови листа, операције, имплементација листа, стабла, бинарна стабла, бинарно стабло претраге, AVL стабло, …). Хеширање (речник података, операције, функције хеширања, колизије, отворено адресирање и уланчавање, асимптотска сложеност алгоритма, …). Графови (дефиниција, примена и типови графова, усмерени ациклични граф, представљање графова (матрица и листа суседства). Алгоритми рада са графовима (тополошко сортирање, обилазак графа, претрага у ширину, претрага у дубину, …). Најкраћи пут у тежинском графу (најкраћи пут у DAG, Dijkstra алгоритам, Bellman-Ford алгоритам, …). Класификације проблема (P и NP проблеми, NP-комплетан проблем, NP-тешки проблеми, експоненцијални проблеми, примери проблема). Динамичко програмирање (примена, примери). Паралелни алгоритми (секвенцијални и паралелни алгоритми, Амдалов закон, потешкоће у имплементацији, примери). Примери алгоритама са применама у криптографији, компресији података, рад са стринговима, ...)
Предавања; аудиторне и рачунарске вежбе; консултације.
Аутори | Назив | Година | Издавач | Језик |
---|
А. Ердељан | Штампани материјал који покрива излагања и вежбе | 2016 | | Српски језик |
Cormen, T.H. et al. | Introduction to Algorithms | 2009 | MIT Press, Cambridge | Енглески |
Thomas H. Cormen | Algorithms Unlocked | 2013 | MIT Press | Енглески |
Wirth, N. | Algorithms and data structures | 1986 | Prentice-Hall, Englewood Cliffs | Енглески |
Хотомски Петар, Малбашки Душан | Математичка логика и принципи програмирања | 2000 | Универзитет, Нови Сад | Српски језик |
Uhr, Leonard | Algorithm-Structured Computer Arrays and Networks | 1984 | Academic Press | Енглески |
Yatsko, A., Suslow, W. | Insight into Theoretical and Applied Informatics : Introduction to Information Technologies and Computer Science | 2015 | De Gruyter Open, Berlin | Енглески |
Стојаковић Мирко | Алгоритми и аутомати | 1972 | Раднички универзитет "Радивој Ћирпанов", Нови Сад | Српски језик |
Knuth, D.E. | The Art of Computer Programming | 1998 | Addison-Wesley, Upper Saddle River | Енглески |
Предметна активност | Предиспитна | Обавезна | Број поена |
---|
Предметни пројекат | да | да | 30.00 |
Тест | да | да | 10.00 |
Тест | да | да | 10.00 |
Тест | да | да | 10.00 |
Тест | да | да | 10.00 |
Усмени део испита | не | да | 30.00 |
| Име и презиме | Вид наставе |
---|
| | Предавања |
| | Рачунарске вежбе |
| | Рачунарске вежбе |
| | Рачунарске вежбе |
| | Рачунарске вежбе |