Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 2.Ненаправленные графы, часть 1.doc
Скачиваний:
27
Добавлен:
13.02.2016
Размер:
1 Мб
Скачать
☆

Определения

Строка таблицы инцидентности содержит вершину 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, т.е. VV’=0 и EE’=0, то G и G’ являются раздельными графами.

Для раздельных графов в общем случае определены операции:

  • объединение раздельных графов (disjoint union) G1(V1,E1) и G2(V2,E2) –

G(V,E)= G1(V1,E1) G2(V2,E2),

если V=V1V2 и E1E2;

  • соединение раздельных графов (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.