Компонента сильной связности: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
мНет описания правки
Строка 47: Строка 47:
[[Категория:Алгоритмы на графах]]
[[Категория:Алгоритмы на графах]]



[[en:Strongly connected component]]
[[cs:Silně souvislá komponenta]]
[[cs:Silně souvislá komponenta]]
[[de:Starke Zusammenhangskomponente]]
[[de:Starke Zusammenhangskomponente]]
[[en:Strongly connected component]]
[[es:Componente fuertemente conexo]]
[[es:Componente fuertemente conexo]]
[[pl:Silnie spójna składowa]]
[[pl:Silnie spójna składowa]]

Версия от 22:48, 26 июня 2008

Орграф называется сильно связным (strongly connected), если любые две его вершины сильно связаны. Две пары вершин s и t любого графа сильно связаны, если существует ориентированный путь из s в t и ориентированный путь из t в s. Сильно связными компонентами орграфа называются его максимально сильно связные подграфы.

Определения

Орграф, не принадлежащий к классу сильно связных графов, содержит некоторый набор сильно связных компонент, и некоторый набор ориентированных ребер, идущих от одной компоненты к другой.

Любая вершина орграфа сильно связана сама с собой.

Алгоритмы

Простейший алгоритм решения задачи о поиске сильно связных компонент в орграфе работает следующим образом:

1) При помощи транзитивного замыкания проверяем, достижима ли t из s, и s из t, для всех пар s и t.

2) Затем определяем такой неориентированный граф, в котором для каждой такой пары содержится ребро.

3) Поиск компонент связности такого неориентированного графа даст нам компоненты сильной связности нашего орграфа.

Очевидно основное время работы данного алгоритма приходится на реализацию транзитивного замыкания.

Также существует три алгоритма, решающих данную задачу за линейное время, то есть в V раз быстрее, чем приведенный выше алгоритм. Это алгоритмы Косарайю, Габова и Тарьяна.

Пример

На данном примере изображен орграф, для которого найдены все компоненты сильной связности (одна компонента сильной связности — один цвет).

Файл:Strongly connected components.JPG
Ориентированный граф с найденными компонентами сильной связности.

Ссылки

Литература

  • Роберт Седжвик. Алгоритмы на графах = Graph algorithms. — 3-е изд. — Россия, Санкт-Петербург: «ДиаСофтЮП», 2002. — С. 496. — ISBN 5-93772-054-7.