Компоненты связности
Перейти к навигации
Перейти к поиску
vector<vector<int>> g(n); vector<int> visited(n); // не были в вершине - 0, иначе - номер её компоненты void dfs(int v, int component) { visited[v] = component; for (int to : g[v]) if (!visited[to]) dfs(to, component); } int componentsCount = 0; for (int i = 0; i < n; i++) if (!visited[i]) dfs(i, ++componentsCount);
Ссылки на задачи
Ссылки
- e-maxx.ru — Поиск компонент связности
- neerc.ifmo.ru/wiki — Использование обхода в глубину для проверки связности
- brestprog — Поиск компонент связности
- algorithmica.org — Графы. Поиск в глубину
- informatics.mccme.ru — Курс «Алгоритмы на графах» — часть 2
- Калинин П. Поиск в глубину
- Лахно А. Поиск в глубину и его применение
- algs4.cs.princeton.edu/lectures — 4.1 Undirected Graphs
- VisuAlgo — Graph Traversal