Теория графов
- Лемма о рукопожатиях
- Σ deg(v) = 2|E|
- Полные графы
- |E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
- Регулярный граф
- |E| = n·k/2
- Дерево и лес
- |E| = n − 1, |E| = n − c
- Листья дерева
- L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
- Эйлер
- цикл: все степени чётные; путь: ровно две нечётные степени
- Гамильтоновы циклы в Kn
- (n − 1)!/2
- Обновление в алгоритме Дейкстры
- d(v) = min(d(v), d(u) + w(u, v))
- Маршруты длины L
- (Mᴸ)ij
Метод
- Запишите степень каждой вершины; сумма степеней равна удвоенному числу рёбер.
- В задачах об эйлеровых путях проверьте, что граф связный, и посчитайте вершины нечётной степени.
- Для деревьев используйте n − 1 ребро и лемму о рукопожатиях.
- В алгоритме Дейкстры ведите таблицу предварительных расстояний и на каждом шаге фиксируйте нефиксированную вершину с наименьшим расстоянием.
- Для минимального остовного дерева отсортируйте рёбра по весу и пропускайте каждое ребро, замыкающее цикл (Краскал), либо растите одно дерево из начальной вершины (Прим).