О курсе
Курс посвящён продвинутым темам алгоритмов и структур данных. Программа рассчитана на 21 урок, распределённый на три недели, и построена как последовательное изучение нескольких крупных блоков: хеширования, теории графов, приоритетных структур и динамического программирования.
Первая неделя начинается с задачи поиска по ключу и хеш-таблиц. Далее рассматриваются причины коллизий и подходы к их решению, вопросы построения хеш-функций и их прикладные применения. Затем следуют основные понятия теории графов и обход графа в ширину.
Вторая неделя продолжает тему графов: обход в глубину, проверка графа на ацикличность и топологическая сортировка. Отдельные уроки посвящены бинарной куче, сортировке HeapSort и алгоритмам поиска кратчайших путей — Форда-Беллмана и Дейкстры.
Третья неделя посвящена динамическому программированию: введение, задача о кузнечике, поиск максимальной суммы последовательности, поиск пути в матрице, расстояние Левенштейна, задача о рюкзаке и фильтр Блума.
Автор курса — Ярослав Щербаков, разработчик и педагог, выпускник ВШЭ по направлению «Программная инженерия».
Что рассматривается в программе
- Работа с хеш-таблицами и анализ коллизий
- Построение хеш-функций и их прикладное применение
- Обход графа в ширину и в глубину
- Проверка графа на ацикличность и топологическая сортировка
- Работа с бинарной кучей и сортировкой HeapSort
- Алгоритмы поиска кратчайших путей: Форда-Беллмана и Дейкстры
- Динамическое программирование: задача о кузнечике, рюкзаке, расстояние Левенштейна
- Фильтр Блума
Кому может быть полезен курс
- Тем, кто интересуется продвинутыми алгоритмами и структурами данных
- Разработчикам, которым нужно ознакомиться с хеш-таблицами, графами и динамическим программированием
- Тем, кто хочет разобрать алгоритмы поиска кратчайших путей и топологическую сортировку
- Специалистам, которым нужно систематизировать знания по структурам данных
Вопросы о программе
Сколько уроков в курсе и на какой срок он рассчитан?
Программа включает 21 урок, распределённый на 3 недели.
Какие темы рассматриваются в блоке по графам?
В программе рассматриваются основные понятия теории графов, обход в ширину и в глубину, проверка на ацикличность и топологическая сортировка.
Какие алгоритмы поиска кратчайших путей включены в программу?
В материалах курса разбираются алгоритмы Форда-Беллмана и Дейкстры, а также сортировка HeapSort и бинарная куча.
Кто автор курса?
Автор курса — Ярослав Щербаков, разработчик и педагог, выпускник ВШЭ по направлению «Программная инженерия».