Алгоритмы на графах: от теории к эксперименту

Трек реализуется совместно с научно-учебной лабораторией процессно-ориентированных информационных систем (ПОИС) факультета компьютерных наук

Что вас ждёт?

Как программы в навигаторах мгновенно находят самый быстрый маршрут, а соцсети — цепочку друзей между двумя незнакомцами? Всё это — графовые алгоритмы. Но что скрывается за их магией? Какой алгоритм действительно быстрее, а какой просто «хорош на бумаге»?

В этом треке участники перестанут верить на слово и начнут проверять всё сами.

Что ждёт участников:

  • Погружение в анализ — возможность научиться оценивать скорость работы кода не «на глаз», а с помощью строгих методов и реальных замеров.
  • Программирование на C++ — написание эффективных реализаций классических алгоритмов на графах и оттачивание навыков отладки.
  • Битва алгоритмов — сравнение настоящих «тяжеловесов»: алгоритмы Дейкстры, A*, Флойда–Уоршелла, Беллмана–Форда и других. Кто из них быстрее, а кто — экономичнее по памяти, и почему для больших городов нужен один подход, а для лабиринтов — совсем другой.
  • Измерения и визуализация — создание собственных сценариев тестирования, измерение времени работы алгоритмов на графах разного размера и структуры, а затем превращение сухих цифр в наглядные графики и диаграммы с помощью Python.
  • Охота на ошибки — приобретение навыков поиска узких мест в коде, логических ловушек и скрытых багов, которые портят производительность.
  • Командное исследование — объединение в команды для проведения настоящего мини-исследования. Задача: выбрать набор алгоритмов, провести серию экспериментов, проанализировать результаты и представить выводы.


Участники не просто узнают, как работают графовые алгоритмы, но и получат навыки настоящего инженера-исследователя — умение ставить эксперименты, анализировать данные и делать обоснованные выводы. Это пригодится и в олимпиадном программировании, и в будущей работе в IT.

Требования к участникам

Кому подойдёт:

  • учащимся 9-11 классов
  • тем, кто уже знаком с основами C++ (массивы, циклы, функции) и хочет перейти на новый уровень — от написания кода к его осмысленному тестированию и оптимизации

Преподавательский состав

Нестеров Роман Александрович

Заведующий научно-учебной лабораторией процессно-ориентированных информационных систем (ПОИС)

Бегичева Антонина Константиновна

Старший преподаватель департамента программной инженерии, младший научный сотрудник научно-учебной лаборатории процессно-ориентированных систем (ПОИС)

Кондаков Семен Васильевич

Преподаватель департамента программной инженерии