Вовед за теорија на алгоритми и основни концепти на податочни структури. Логички и физички структури. Имплементација со Јава ADT. Анализа и комплексност на алгоритам. Линеарни податочни структури-низи и листи. Статички и динамички низи и листи во Јава. Примена на низи и листи за логички податочни структури: пласт/магацин, ред, двостран ред, приоритетен ред (имплементација со Јава). Алгоритамски стратегии. Дизајн на алгоритми. Класификација на алгоритми. Стратегија груба сила (brute force). Алчни (greedy) алгоритми. Стратегија раздели и владеј (Divide and Conquer). Нелинеарни структури. Дрва. Бинарни дрва. Бинарни пребарувачки дрва. Балансирани бинарни пребарувачки дрва. AVL дрва. Црвено-црни балансирани дрва (Red‐Black Trees). Хеш (hash) структури. Функции за хеширање и нивни својства. Колизии и разрешување. Графови. Насочени и ненасочени графови. Примена на графови. Тежински графови. Претстава на графови преку податочни структури. Пребарување во графови: по длабочина и по широчина. Алгоритми за најкратки патеки во тежински графови. Белман-Форд алгоритам. Алгоритам на Дијкстра. Алгоритам на Крускал. Алгоритам на Прим.
- Наставник: Daniel Denkovski
- Наставник: Бојана Величковска