- •Замечание
- •2 Определения .1.2 Определение графа с помощью множеств
- •Определения
- •2.1.3. Степени вершин графа
- •Определения
- •Матрица инциденций
- •Матрица смежности
- •Определение
- •Теорема Havel - Hakimi
- •Замечания
- •2.1.5. Матричный способ задания графов
- •Определения
- •Определения
- •Определения
- •2.2. Операции над графами
- •2.2.1. Простейшие операции
- •Определения
- •2.2.2. Бинарные операции над раздельными графами
- •Определения
- •Определения
- •Замечание
- •2.2.3. Унарные операции над графами
- •Определения
- •Определения
- •Определения
- •Определения
- •Определение
- •Замечание
- •Определения
- •Определения
- •2.5. Прогулки, тропы, пути и циклы
- •Определения
- •2.6. Связность
- •Определения
- •2.6.1. Реберная связность
- •Определения
- •Определения
- •Определения
- •Определения
- •2 Определения .8. Обход графа
- •2 Определения .8.1..Обход в глубину (dsf)
- •Псевдокод
- •Класс сложности
- •2.8.2. Обход в ширину (bfs)
- •Определения
- •Атрибуты dfs
- •Псевдокод
- •Класс сложности
Определения
Строка таблицы инцидентности содержит вершину Vi c перечислением всех инцидентных ей вершин графа.
Данная форма записи графа особенно удобна для разреженных графов (т.е. графов с большим числом вершин и всего несколькими рёбрами).
Определения
Для разреженных матриц смежности (т.е. матриц с преобладающим числом нулей) с числом единиц NNZ используется метод координатного хранения (X-Y) матрицы в виде двух строк IROW и ICOL. В строки IROW и ICOL записываются адреса строк и столбцов матрицы связности, имеющие ненулевые элементы.
2.2. Операции над графами
2.2.1. Простейшие операции
Определения
Простейшими операциями над графами являются:
Добавление вершины: к заданному множеству вершин графа (V1, V2,…, Vn) добавляется новая вершина Vn+1, смежная с вершинами (V1, V2,…, Vn).
Добавление ребра: для заданной пары вершин v и u добавляется ребро {v,u}.
Удаление вершины: из графа вершина удаляется вместе с инцидентными ей рёбрами;
Удаление ребра: в графе удаляется ребро без инцидентных ему вершин;
Стягивание вершин: заданное множество вершин соединяется в одну, а полученные из ребер петли удаляются;
Подразбиение ребра: удаляется заданное ребро {u,v} и добавляется путь, имеющий один конец на u, а второй конец – на v.
2.2.2. Бинарные операции над раздельными графами
Определения
Если G(V,E)G’(V’,E’)=0, т.е. VV’=0 и EE’=0, то G и G’ являются раздельными графами.
Для раздельных графов в общем случае определены операции:
объединение раздельных графов (disjoint union) G1(V1,E1) и G2(V2,E2) –
G(V,E)= G1(V1,E1)
G2(V2,E2),
если V=V1V2 и E1E2;
соединение раздельных графов (join) G1(V1,E1) и G2(V2,E2) –
G(V,E)= G1(V1,E1)
G2(V2,E2),
где G(V,E) состоит из G1 G2 К(V1,V2);
здесь К(V1,V2) – завершенный двудольный граф с множеством вершин
V1 и V2 в долях;
произведение графов (graph product) G(V,E) и H(V’,E’) –
граф, у которого:
множество вершин равно V×V’ (т.е. множество пар, где первый элемент взят из множества вершин V, а второй – из множества вершин V’).
Смежность двух любых вершин произведения графов (g,h) и (g’,h’) определяется неоднозначно (всего возможно 256 различных произведений графов).
Определения
Пусть вершина произведения графов G1=(V1,E1) и G2=(V2,E2) обозначается (V1|V2) c Vi Gi (знак | обозначает операцию склеивания). Тогда некоторые из произведений двух графов определяются следующим образом:
Конъюнкция
(conduction) G=G1
G2
– две вершины (U1|U2)
и (V1|V2)
в G соединены, если {U1,V2}
есть ребро G1 и
{U2,V2}
есть ребро графа G2.
Дизъюнкция
(disjunction) G=G1
G2
– две вершины (U1|U2)
и (V1|V2)
соединены, если {U1,V2}
есть ребро G1 или
{U2,V2}
есть ребро графа G2.
Симметричная
разница (symmetric
difference) G=G1
G2
- две вершины (U1|U2)
и(V1|V2)
соединены, если {U1,V2}
есть ребро G1, либо
{U2,V2}
есть ребро графа G2 (но
не оба сразу).
Отклонение (rejection) G=G1\G2 - две вершины (U1|U2) и(V1|V2) соединены, если ни {U1,V2} не является ребром G1, ни {U2,V2} не является ребром графа G2.
Декартово произведение (Cartesian product) G=G1 G2 - две вершины (U1|U2) и(V1|V2) соединены, либо U1 и V1 идентичны и {U2,V2} есть ребро G2, либо U2 и V2 идентичны и {U1,V1 } есть ребро графа G1.
