Предмет: Увод у алгоритме
(17 -
ESI053) Основне информације
Матичне организационе јединице предмета
Програм предмета
Програм се примењује од 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-тешки проблеми, експоненцијални проблеми, примери проблема). Динамичко програмирање (примена, примери). Паралелни алгоритми (секвенцијални и паралелни алгоритми, Амдалов закон, потешкоће у имплементацији, примери). Примери алгоритама са применама у криптографији, компресији података, рад са стринговима, ...) Предавања; аудиторне и рачунарске вежбе; консултације.
|