Поиск в глубину (4 ноября 2015, Лёша)
- [30 минут] Кодим dfs
- Выделение мостов и компонент реберной двусвязности [code]
- Что нужно поменять в коде, чтобы получилась вершинная двусвязность и точки сочленения?
- Эйлеров цикл (в ориентированном графе, комментарий к неориентированному графу) [code]
- [10 минут] Эйлеровость
- Если Паша не все критерии Эйлеровости рассказал на паре
- Неорграф, цикл (связность, чётность)
- Неорграф, путь
- Орграф, цикл (связность, in=out)
- Орграф, путь
- [50 минут] Задачи на dfs
- Найти путь из множества вершин A в множество вершин B (из любой вершины a ∈ A в любую b ∈ B)
- Найти все вершины неориентированного графа, которые обязательно будут лежать на пути от a до b. O(V+E).
- Разбить все рёбра слабосвязного орграфа на минимальное число путей (слабосвязность: неор версия графа связна)
- Дополнение графа до Эйлерова (минимизировать число рёбер)
- Разбить множество вершин на две доли (V = A ⊔ B) так, чтобы у каждой вершины был сосед в другой доли. O(V+E)
- 2-List-Coloring через 3-SAT. Каждой вершине неорграфа сопоставлены два возможных цвета. Покрасить вершины так, чтобы соседние вершины были покрашены в различные цвета.
- 3-List-Coloring: решения за 2nm (перебрали вершины цвета 3), 1.5nm (случайным образом заблокировали 1 из 3 цветов у каждой вершины)
- Дополнительные задачи
- Дополнение графа до Эйлерова (минимизировать суммарный вес рёбер)
- Дополнение графа до сильносвязного.