Теория 6 Алчни алгоритми 12 Рекурсия. Търсене с връщане назад (backtracking). Комбинаторика 12 Динамично програмиране 18 Дървета и графи 6 Хеширане и хеш-таблици Алчни алгоритми Общо представяне на алчните алгоритми. Особености на алчните алгоритми Алчно решение на задачата за разпределяне на график Алчно решение на задача за египетските дроби Рекурсия. Търсене с връщане назад (backtracking). Комбинаторика Рекурсия. Рекурсивно решение на някои математически алгоритми - НОД, НОК, Редица на Фибоначи Основна схема на алгоритмите с търсене с връщане назад Задача за осемте царици - решение с търсене с връщане назад Задача за намиране на пътища в лабиринт Комбинаторика. Генериране на пермутации, вариации и комбинации чрез рекурсивни алгоритми Динамично програмиране Увод в динамичното програмиране. Разбиване на задача на подзадачи. Състояние. Мемоизация Задача за раницата Задача за най-дълга нарастваща подредица Триъгълник на Паскал Двумерни задачи за динамично програмиране Дървета и графи Увод в дървовидните структури от данни. Увод в теорията на графите. Съпоставяне на дърво и граф Реализация на двоично дърво Обхождане на двоично дърво Балансиране на двоично дърво за претъстване Видове представяния на графите в компютърната памет Обхождане в дълбочина на граф Обхождане в ширина на граф Най-кратък път в граф по алгоритъма на Дийкстра Хеширане и хеш-таблици Хеширащи алгоритми. Хеш-таблица. Имплементиране на хеш-таблица. Практика 10 Алчни алгоритми 16 Рекурсия. Търсене с връщане назад (backtracking). Комбинаторика 24 Динамично програмиране 24 Дървета и графи 8 Хеширане и хеш-таблици Алчни алгоритми Общо представяне на алчните алгоритми. Особености на алчните алгоритми Решаване на общи задачи с помощта на алчни алгоритми Рекурсия. Търсене с връщане назад (backtracking). Комбинаторика Рекурсия. Рекурсивно решение на някои математически алгоритми - НОД, НОК, Редица на Фибоначи Основна схема на алгоритмите с търсене с връщане назад Задача за осемте царици - решение с търсене с връщане назад Задача за намиране на пътища в лабиринт Комбинаторика. Генериране на пермутации, вариации и комбинации чрез рекурсивни алгоритми Решаване на общи задачи за рекурсивни алгоритми и търсене с връщане назад Динамично програмиране Увод в динамичното програмиране. Разбиване на задача на подзадачи. Състояние. Мемоизация Задача за раницата Задача за най-дълга нарастваща подредица Триъгълник на Паскал Двумерни задачи за динамично програмиране Приложение на рекурсията в динамичното програмиране Решаване на общи задачи за динамично програмиране Дървета и графи Увод в дървовидните структури от данни. Увод в теорията на графите. Съпоставяне на дърво и граф Реализация на двоично дърво Обхождане на двоично дърво Балансиране на двоично дърво за претъстване Видове представяния на графите в компютърната памет Обхождане в дълбочина на граф Обхождане в ширина на граф Най-кратък път в граф по алгоритъма на Дийкстра Импплементация на дървета и графи Хеширане и хеш-таблици Хеширащи алгоритми. Хеш-таблица. Имплементация на хеш-таблица.