Алгоритмы на графах: от теории к эксперименту
Трек реализуется совместно с научно-учебной лабораторией процессно-ориентированных информационных систем (ПОИС) факультета компьютерных наук
Программы в навигаторах мгновенно находили самый быстрый маршрут, а соцсети — цепочку друзей между двумя незнакомцами. Всё это были графовые алгоритмы. Но что скрывалось за их «магией»? Какой алгоритм действительно оказывался быстрее, а какой только казался «хорошим на бумаге»?
На этом треке участники перестали верить на слово и начали проверять всё сами.
Что ждало участников:
- Погружение в анализ — возможность научиться оценивать скорость работы кода не «на глаз», а с помощью строгих методов и реальных замеров.
- Программирование на C++ — написание эффективных реализаций классических алгоритмов на графах и оттачивание навыков отладки.
- Битва алгоритмов — сравнение настоящих «тяжеловесов»: алгоритмов Дейкстры, A*, Флойда–Уоршелла, Беллмана–Форда и других. Участники разбирались, кто из них быстрее, кто экономичнее по памяти и почему для больших городов нужен один подход, а для лабиринтов — совсем другой.
- Измерения и визуализация — создание собственных сценариев тестирования, измерение времени работы алгоритмов на графах разного размера и структуры, а затем превращение сухих цифр в наглядные графики и диаграммы с помощью Python.
- Охота на ошибки — приобретение навыков поиска узких мест в коде, логических ловушек и скрытых багов, которые портят производительность.
- Командное исследование — объединение в команды для проведения настоящего мини-исследования: участники выбирали набор алгоритмов, проводили серию экспериментов, анализировали результаты и представляли выводы.
В результате участники не просто узнали, как работают графовые алгоритмы, но и получили навыки настоящего инженера‑исследователя — умение ставить эксперименты, анализировать данные и делать обоснованные выводы. Это пригодилось им и в олимпиадном программировании, и в будущей работе в IT.
Преподавательский состав
Нестеров Роман Александрович
Заведующий научно-учебной лабораторией процессно-ориентированных информационных систем (ПОИС)
Бегичева Антонина Константиновна
Старший преподаватель департамента программной инженерии, младший научный сотрудник научно-учебной лаборатории процессно-ориентированных систем (ПОИС)
Кондаков Семен Васильевич
Преподаватель департамента программной инженерии