Вершины xi и xj слабо связны, если в графе существует путь (xi, xj).
Вершины xi и xj сильно связны, если существуют пути (xi, xj) и (xj, xi).
Если в графе нет путей из xi в xj и нет обратного пути из xj в xi, то вершины xi и xj несвязны. Для неориентированного графа имеет смысл только понятие сильной связности.
Компонентой связности называетсямаксимальное подмножество сильно связанных между собой вершин.
Отношение связностирефлексивно, симметрично, транзитивно, т. е. является отношением эквивалентности, и однозначно разбивает множество вершин графа на компоненты связности.
Пример 3.4: Задан граф (рис.3.4). Найти его компоненты связности.
|
|
Алгоритм построения компонент связности
В неориентированном графе
1. i= 0. Все вершины графа не отмечены.
2. i=i +1. Выбираем очередную неотмеченную вершину, отмечаем её и все связанные с нею вершины значением индекса i с помощью распространения волны отметок по ребрам, идущих от уже отмеченных индексом i вершин. Таким образом выделяется i компонента связности. Если есть ещё неотмеченные вершины, то выполняется п.2, иначе выделение компонент связности закончено.
Пример 3.5
Рис. 3.5
Решение:
1. i=0
2. i=1. Отмечаем индексом i=1 вершину x1 и связанные с ней вершины x3, x7 и x9. Получена первая компонента связности: k1 {x1,x3,x7,x9 }
2. i= 2. Отметим индексом i =2 вершину x2 и вершины x6,x10 . Построена вторая компонента связности: k2 {x2,x6,x10}
2. i= 3. Отмечаются индексом i= 3 вершины x4 и x8. Построена третья компонента связности: k3 {x4, x8 }.
2. i= 4. Отмечаются индексом i= 4 вершину x5, которая формирует четвертую компоненту связности – k4 {x5}