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

Начальные понятия теории графов

Лекция 1: 12345 || Лекция 2 >

Алгебраические операции

Поскольку граф состоит из двух множеств (вершины и ребра), то различные операции над множествами естественным образом порождают соответствующие операции над графами. Например, объединение двух графов G_{1} и G_{2} определяется как граф G=G_{1} \cup G_{2}, у которого VG=VG_{1} \cup VG_{2}, EG=EG_{1} \cup
EG_{2}, а пересечение - как граф G=G_{1} \cap G_{2}, у которого VG=VG_{1} \cap
VG_{2}, EG=EG_{1} \cap EG_{2}. Обе операции иллюстрирует рис. 1.12.


Рис. 1.12.

Дополнением ( дополнительным графом ) к графу G=(V,E) называется граф \ol{G}, у которого множество вершин то же, что у G, а множество ребер является дополнением множества E до множества всех неупорядоченных пар вершин. Иначе говоря, две различные вершины смежны в графе \ol{G} тогда и только тогда, когда они несмежны в графе G. Например, \ol{O}_{n} =K_{n}. Другой пример показан на рис. 1.13. Очевидно, что всегда \ol{\ol{G}}=G.


Рис. 1.13.

Под суммой G_{1} +
G_{2} двух абстрактных графов понимают объединение графов с непересекающимися множествами вершин. Точнее говоря, имеется в виду следующее. Сначала вершинам графов-слагаемых присваиваются имена (пометки, номера) так, чтобы множества вершин не пересекались, затем полученные графы объединяются. Операция сложения ассоциативна, то есть (G_{1} +G_{2})+G_{3} =G_{1} +(G_{2} +G_{3}) для любых трех графов. Поэтому можно образовывать сумму любого числа графов, не указывая порядка действий с помощью скобок. Если складываются k экземпляров одного и того же графа G, то полученный граф обозначается через kG. Например, O_{n} \cong nK_{1}. На рис. 1.14 изображен граф C_{4} +2K_{2} +4K_{1}.


Рис. 1.14.

Рис. 1.15.

Соединением двух графов G_{1} и G_{2} называется граф, получаемый из их суммы добавлением всех ребер, соединяющих вершины первого слагаемого с вершинами второго. Будем записывать эту операцию как G_{1} \circ G_{2}. На рис. 1.15 представлен граф P_{3} \circ O_{2}. Легко видеть, что операции сложения и соединения графов связаны друг с другом следующими простыми соотношениями:

\eq*{
\overline{G_{1} +G_{2}}=\overline{G_{1}}\circ
\overline{G_{2}},\qq
\overline{G_{1} \circ G_{2}}=\overline{G_{1} }+\overline{G_{2}}.
}

Введем еще два типа специальных графов, которые легко описываются с помощью операции соединения. Первый - полный двудольный граф K_{p,q} =O_{p} \circ
O_{q}. В этом графе множество вершин разбито на два подмножества (доли), в одном из которых p вершин, в другом q, и две вершины в нем смежны тогда и только тогда, если они принадлежат разным подмножествам. Второй - колесо W_{n} =C_{n} \circ K_{1}
. На рис. 1.16 показаны графы K_{3,4} и W_{6}.


Рис. 1.16.

Произведение G=G_{1}
\times G_{2} графов G_{1} и G_{2} определяется следующим образом. Множеством вершин графа G является декартово произведение множеств VG_{1} и VG_{2}, то есть вершины этого графа - упорядоченные пары \left(x,y\right), где x - вершина первого сомножителя, y - вершина второго. Вершины \left(x_{1},y_{1}\right) и \left(x_{2},y_{2}\right) в G смежны тогда и только тогда, если x_{1} =x_{2} и y_{1} смежна с y_{2} в графе G_{2}, или y_{1}
=y_{2} и x_{1} смежна с x_{2} в графе G_{1}. С помощью операции произведения можно выразить некоторые важные графы через простейшие. Например, произведение двух цепей дает прямоугольную решетку (см. рис. 1.17). Если один из сомножителей превратить в цикл, добавив одно ребро, то прямоугольная решетка превратится в цилиндрическую, а если и второй сомножитель превратить в цикл, то получится тороидальная решетка.


Рис. 1.17.

Другой пример - k - мерный куб Q_{k}, определяемый следующим образом. Вершинами его являются всевозможные упорядоченные двоичные наборы длины k. Всего, таким образом, в этом графе 2^{k} вершин. Вершины x=\left(x_{1}\dots x_{k}
\right) и y=\left(y_{1}\dots y_{k} \right) смежны в нем тогда и только тогда, когда наборы x и y различаются точно в одной координате. С помощью операции произведения граф Q_{k} можно определить рекурсивно:

\eq*{
Q_{1} =K_{2}, \qq Q_{k} =Q_{k-1} \times K_{2}.
}

На рис. 1.18 показано, как получается Q_{4} из Q_{3}.


Рис. 1.18.
Лекция 1: 12345 || Лекция 2 >
Петр Петров
Петр Петров

произведение графов К(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(...)

}

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

 

 

Дмитрий Крюков
Дмитрий Крюков
Россия, Москва
Андрей Посохов
Андрей Посохов
Россия, Санкт-Петербург