Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700219.doc
Скачиваний:
30
Добавлен:
01.05.2022
Размер:
1.36 Mб
Скачать

2.2. Список ребер (луг) и структура смежности графа

Если граф является разреженным, то есть когда число рёбер (дуг) m= много меньше числа вершин n= , то целесообразно представлять граф посредством списка рёбер (дуг). Этот список задается двумя наборами и , где - i-ая дуга графа.

Пример. Для графа, приведенного ранее, имеем:

и . Здесь для упрощения записи мы пишем 1 вместо , 2 - вместо и т.д.

Объём памяти для списка рёбер (дуг) – О(2m)

Представление графа, удобное при работе с графами, в которых добавляются или удаляются вершины, является структура смежности. Она получается путем составления для каждой вершины списка номеров вершин , для которых .

Пример. Для графа, представленного ранее, имеем:

Вершины

Список последовательностей

1

2,5,7

2

1,3,5,6

3

2,4

4

3,5,6

5

1,2,4

6

1,2,4

Объём памяти для структуры смежности – О(n+m)

2.3. Части графов

Подграфом графа называется граф , для которого и .

Полный подграф некоторого графа называется кликой этого графа.

Остовным подграфом графа называется подграф, содержащий все вершины исходного графа G, т.е. , где .

Порожденным подграфом графа на множестве вершин Vp называется граф Gp=(Vp, Ep), причем VpV ,а Ep – множество ребер или дуг графа G, оба конца которых принадлежат множеству Vp.

Пример. На следующем рисунке изображены:

а ) - исходный граф G, б) - один из его подграфов, в) - порождённый подграф графа G на множестве вершин , г) – один из остовных подграфов графа G.

Рис. 6

2.4. Основные операции над графами

Объединением графов G1=(V1, E1) и G2=(V2, E2) называется граф G3=(V1V2, E1E2). Объединение называется дизъюнктным , если V1V2=0.

Пересечение графов G1=(V1, E1) и G2=(V2, E2) называется граф G3=(V1V2, E1E2).

Аналогично определяется объединение, дизъюнктное объединение и пересечение любого количества графов. Операции объединения и пересечения являются коммутативными, т.е. G1 G2= G2 G1, а также G1 G2= G2 G1

Пример. На ниже приведённом рисунке показаны: а) – граф G1, б) – граф G2, в) – их объединение, г) – пересечение.

б)

Удаление вершины. При удалении вершины из графа

Рис. 7

удаляются и все инцидентные ей рёбра (дуги).

Удаление ребра (дуги). При удалении ребра (дуги) его концевые вершины не удаляются. Операцией обратной к операции удаления ребра является операция добавления ребра.

Слияние (отождествление) вершин. Говорят, что вершины vi и vj в графе G отождествляются (сливаются) если они заменяются новой вершиной vk такой, что все ребра (дуги) графа инцидентные vi и vj становятся инцидентными к вершине vk .

Стягивание ребра – эта операция означает удаление ребра и отождествление его кольцевых вершин. Граф G называется стягиваемым графу Н, если граф Н может быть получен из G в результате некоторой последовательности стягиваний ребер.

Подразбиение ребра. При выполнении этой операции из графа удаляется ребро (vi, vj) и добавляются два новых (vi, vk) и (vk, vi), где vk – новая вершина графа.

Пример:

На следующем рисунке представлены: а) - исходный граф, б) – граф после удаления вершины v3, в) - результат удаления ребра e2, г) –отождествления вершин v3 и v4, д) –стягивание ребра e1, е) – подразбиение ребра e2.

Р ис. 8