Компоненты связности: различия между версиями
Перейти к навигации
Перейти к поиску
Ctrlalt (обсуждение | вклад) Нет описания правки |
Ctrlalt (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
vector<vector<int>> graph(vertexCount); | vector<vector<int>> graph(vertexCount); | ||
vector<int> visited( | vector<int> visited(vertexCount); // не были в вершине - 0, иначе - номер её компоненты | ||
void dfs(int v, int component) { | void dfs(int v, int component) { |
Версия от 21:08, 7 апреля 2021
vector<vector<int>> graph(vertexCount); vector<int> visited(vertexCount); // не были в вершине - 0, иначе - номер её компоненты void dfs(int v, int component) { visited[v] = component; for (int to : graph[v]) if (!visited[to]) dfs(to, component); } int componentCount = 0; for (int v = 0; v < vertexCount; v++) if (!visited[v]) dfs(i, ++componentCount);
Ссылки на задачи
Ссылки
- 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