О курсе

Курс посвящён продвинутым темам алгоритмов и структур данных. Программа рассчитана на 21 урок, распределённый на три недели, и построена как последовательное изучение нескольких крупных блоков: хеширования, теории графов, приоритетных структур и динамического программирования.

Первая неделя начинается с задачи поиска по ключу и хеш-таблиц. Далее рассматриваются причины коллизий и подходы к их решению, вопросы построения хеш-функций и их прикладные применения. Затем следуют основные понятия теории графов и обход графа в ширину.

Вторая неделя продолжает тему графов: обход в глубину, проверка графа на ацикличность и топологическая сортировка. Отдельные уроки посвящены бинарной куче, сортировке HeapSort и алгоритмам поиска кратчайших путей — Форда-Беллмана и Дейкстры.

Третья неделя посвящена динамическому программированию: введение, задача о кузнечике, поиск максимальной суммы последовательности, поиск пути в матрице, расстояние Левенштейна, задача о рюкзаке и фильтр Блума.

Автор курса — Ярослав Щербаков, разработчик и педагог, выпускник ВШЭ по направлению «Программная инженерия».

Что рассматривается в программе

  • Работа с хеш-таблицами и анализ коллизий
  • Построение хеш-функций и их прикладное применение
  • Обход графа в ширину и в глубину
  • Проверка графа на ацикличность и топологическая сортировка
  • Работа с бинарной кучей и сортировкой HeapSort
  • Алгоритмы поиска кратчайших путей: Форда-Беллмана и Дейкстры
  • Динамическое программирование: задача о кузнечике, рюкзаке, расстояние Левенштейна
  • Фильтр Блума

Кому может быть полезен курс

  • Тем, кто интересуется продвинутыми алгоритмами и структурами данных
  • Разработчикам, которым нужно ознакомиться с хеш-таблицами, графами и динамическим программированием
  • Тем, кто хочет разобрать алгоритмы поиска кратчайших путей и топологическую сортировку
  • Специалистам, которым нужно систематизировать знания по структурам данных

Вопросы о программе

Сколько уроков в курсе и на какой срок он рассчитан?

Программа включает 21 урок, распределённый на 3 недели.

Какие темы рассматриваются в блоке по графам?

В программе рассматриваются основные понятия теории графов, обход в ширину и в глубину, проверка на ацикличность и топологическая сортировка.

Какие алгоритмы поиска кратчайших путей включены в программу?

В материалах курса разбираются алгоритмы Форда-Беллмана и Дейкстры, а также сортировка HeapSort и бинарная куча.

Кто автор курса?

Автор курса — Ярослав Щербаков, разработчик и педагог, выпускник ВШЭ по направлению «Программная инженерия».