logo
Дискретная математика

Алгоритм выделения компонент связности (сильной связности)

  1. Полагаем р:=1 и S­1:=S(p).

  2. Включаем во множество вершин Vp очередной компонент сильной связности вершины соответствующей единицам первой строки матрицы S(p). В качестве матрицы смежности очередной компонентой сильной связности G(p) берем подматрицу A(G), составленную из элементов, находящихся на пересечении строк и столбцов соответствующей вершинам, принадлежащим из Vp.

  3. Вычеркиваем из S(p) строки и столбцы соответствующем вершинам принадлежащим Vp. Если в результате вычеркивания ничего не осталось, то р – число компонент сильной связности, а A(G1),…, A(Gp) есть матрицы смежности этих компонент, в противном случае обозначаем оставшуюся после вычеркивания матрицу через S(p), p:=p+1 и переходим к шагу №2.

  1. Yandex.RTB R-A-252273-3
    Yandex.RTB R-A-252273-4