Введение в графы. Обход графа в глубину (DFS), обход графа в ширину (BFS)
Способы хранения графа. Алгоритм обхода графа в глубину - поиск циклов, выделение компонент связности. Реализация алгоритма обхода графа в ширину.
Кратчайшие пути в графе
Кратчайшие пути в графах: алгоритмы Дейкстры, Форда-Беллмона, Флойда-Уоршела.
Компоненты сильной связности и топологическая сортировка графа
Компоненты сильной связности. Мосты и точки сочленения. Топологическая сортировка. Алгоритм Косараю.
Двоичные подъемы. Минимальные остовные деревья (MST)
Двоичные подъемы и задача о наименьшем общем предке. Поиск минимального остовного дерева. Примеры использования.
Запросы на деревьях
Эйлеров обход. Динамическое программирование на деревьях. Решение задач и различные оптимизации.