Не «прочитай определение», а «увидь, что он делает». Каждый алгоритм — интерактивная визуализация, пошаговый разбор и исходный код с подсветкой активной строки.
Дейкстра с эвристикой: f = g + h тянет к цели, не теряя корректности.
Кратчайшие пути во взвешенном графе: фиксируем ближайший узел и «расслабляем» его рёбра.
MST: рёбра по возрастанию веса, создающие цикл — отбрасываем.
MST растёт из вершины: всегда самое дешёвое ребро из дерева наружу.
Кратчайшие пути с отрицательными рёбрами: V−1 проход ослабления.
Можно ли разбить вершины на две доли без рёбер внутри доли — BFS-раскраской.
Закрасить связную область: волна от точки, стены не перепрыгнуть.
Сколько в графе «островков» — обход с раскраской каждой компоненты.
Два прохода DFS — и множества «взаимно достижимых» вершин найдены.
Сколько прокачается через сеть с узкими местами: BFS-пути насыщают рёбра.
Рёбра, чьё удаление рвёт граф: low[w] > tin[v].
Идём вглубь до дна каждой ветки, а стек помнит, куда вернуться.
Обходим граф волной: сначала всех соседей, потом соседей соседей — слой за слоем.
Серое ребро в серую вершину = цикл: DFS трёхцветный.
Сильно связные компоненты за один DFS: низкие ссылки находят корни.
Порядок вершин, уважающий все направленные рёбра (алгоритм Кана).
Все кратчайшие пути сразу: пробуем каждую вершину как пересадку и обновляем таблицу.
Все рёбра ровно один раз: 0 или 2 нечётных вершин.