Нахождение компонент связности

Вершины xi и xj слабо связны, если в графе существует путь (xi, xj).

Вершины xi и xj сильно связны, если существуют пути (xi, xj) и (xj, xi).

Если в графе нет путей из xi в xj и нет обратного пути из xj в xi, то вершины xi и xj несвязны. Для неориентированного графа имеет смысл только понятие сильной связности.

Компонентой связности называетсямаксимальное подмножество сильно связанных между собой вершин.

Отношение связностирефлексивно, симметрично, транзитивно, т. е. является отношением эквивалентности, и однозначно разбивает множество вершин графа на компоненты связности.

Пример 3.4: Задан граф (рис.3.4). Найти его компоненты связности.

 
 
Данный граф может быть разбит на следующие компоненты связности: 1){x1,x2,x3,x4}; 2){x5,x6,x7}; 3){x8} Между компонентами - только слабая связность: есть пути из вершин 1-й компоненты в вершины 2-й и 3-ей компоненты, а также из вершин 2-й компоненты в вершину 3-ей.  


Рис. 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}



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: