Изменения

Перейти к: навигация, поиск
Нет описания правки
== Задача ==
Дан неориентированный граф. Необходимо проверить является ли он связным.
 
== Идея ==
Небольшая модификация алгоритма обхода в глубину. Смысл алгоритма заключается в том, чтобы считать сколько вершин мы посетили во время обхода.
== Алгоритм ==
Небольшая модификация алгоритма обхода в глубинуЗаведём счётчик количества вершин которые мы ещё не посетили. В стандартной процедуре dfs() будем уменьшать счётчик на единицу перед выходом из процедуры. Запустимся от какой-то вершины нашего графа(если он связен, то мы посетим все остальные). По окончании работы процедуры dfs() сравним счётчик с нулём. Идея алгоритма заключается в томЕсли они равны, чтобы считать сколько вершин то мы посетили побывали во время обходавсех вершинах графа, а следовательно он связен. Если счётчик отличен от нуля, то в графе несколько компонент связности.
== Псевдокод ==
68
правок

Навигация