Нижегородский государственный университет им. Н.И.Лобачевского
Опубликован: 27.09.2006 | Доступ: свободный | Студентов: 3534 / 125 | Оценка: 4.44 / 4.11 | Длительность: 13:45:00
Специальности: Программист, Математик
Лекция 6:

Блоки

< Лекция 5 || Лекция 6: 123 || Лекция 7 >

Блоки и BC-дерево

Блоком графа G называется подграф B, удовлетворяющий одному из трех условий:

а) B состоит из одной изолированной вершины графа G (такой блок называется тривиальным);

б) B порождается единственным ребром, которое является перешейком в G ;

в) B является максимальным двусвязным подграфом графа G.

Из последних двух теорем следует, что ребра нетривиального блока образуют класс циклической связанности. Следовательно, различные блоки не имеют общих ребер. Однако, в отличие от компонент связности, блоки могут иметь общие вершины. Такими общими вершинами, как показывает следующая теорема, могут быть только шарниры графа.

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

Доказательство. Пусть B_1 и B_2 - различные блоки графа G. Рассмотрим подграф B = B_1 \cup B_2. Он не является блоком, следовательно, или несвязен, или имеет шарнир. Если B несвязен, то B_1 и B_2 - его компоненты связности и, следовательно, не имеют общих вершин. Если же B связен и a - шарнир в B, то после удаления вершины a граф B распадается на компоненты связности. При этом все вершины подграфа B_1, отличные от a, принадлежат одной компоненте, иначе a была бы шарниром в B_1. То же верно для вершин подграфа B_2. Значит, имеется всего две компоненты, одна из которых состоит полностью из вершин графа B_1, другая - из вершин графа B_2. Следовательно, a - единственная общая вершина B_1 и B_2.

Если вершина x принадлежит более чем одному блоку, то она инцидентна двум ребрам, (x,y_1) и (x,y_2), принадлежащим разным блокам, то есть не являющимся циклически связанными. Но тогда всякий путь, соединяющий y_1 и y_2, проходит через x, следовательно, x - шарнир. Обратно, если x - шарнир, то найдутся две смежные с x вершины y_1 и y_2, принадлежащие разным компонентам связности графа, получаемого удалением вершины x. Но тогда ребра (x,y_1) и (x,y_2) не являются циклически связанными, следовательно, принадлежат разным блокам.

Строение связного графа, состоящего из нескольких блоков, может быть схематически описано с помощью так называемого дерева блоков и шарниров, кратко именуемого ВС-деревом. В этом дереве имеются две категории вершин - одни поставлены в соответствие блокам графа, другие - его шарнирам. Вершина-блок в дереве соединяется ребром с вершиной-шарниром, если в графе соответствующий шарнир принадлежит соответствующему блоку. На рис. 6.3 изображено ВС-дерево для графа с рис. 6.1. Блоки изображены белыми, а шарниры - черными кружками.


Рис. 6.3.
< Лекция 5 || Лекция 6: 123 || Лекция 7 >
Петр Петров
Петр Петров

произведение графов К(2)*О(4) фактически 4 отдельных графа К(2)?

Александр Лаврентьев
Александр Лаврентьев

много инструкций вида if - then - else

Например Procedure DFS(a) опишите каким образом следует понимать вложенность инструкций. Как в языке С ? 

т.е. следующее 

if (...) then (...)

if (...) then (...)

else(...)

 

раскрывается как 

if (...) then (...)

if (...) then (...)

         else(...)

или так :

if (...) then

 {  (...)

     if (...) then (...)

              else(...)

}

обьясните пожалуйста.

 

 

Ирина Алексеева
Ирина Алексеева
Россия, г. Обнинск