
- •Часть 1
- •Часть 1
- •Введение
- •1. Основные понятия теории графов
- •Задачи теории графов
- •1.2. Основные определения
- •1.3. Степени вершин графа
- •1.4. Изоморфизм графов
- •2. Представление графов в эвм и операции над ними
- •2.1. Матричные способы задания графов
- •2.2. Список ребер (луг) и структура смежности графа
- •2.3. Части графов
- •2.4. Основные операции над графами
- •3. Маршруты в графах
- •3.1. Понятие маршрута
- •Маршруты в неориентированных графах
- •Маршруты в ориентированных графах
- •3.2. Связность в графах.
- •В примере 3 граф имеет две сильно связных компоненты.
- •3.3. Связность и матрица смежности графа
- •3.4. Матрица взаимодостижимости
- •4. Деревья
- •4.1. Свободные деревья
- •4.2. Ориентированные, упорядоченные и бинарные деревья
- •Эквивалентное определение ориентированного дерева
- •5. Эйлеровы и гамильтоновы графы.
- •5.1. Эйлеровы графы.
- •5. 2. Алгоритм построения эйлерова цикла в эйлеровом графе
- •5.3. Гамильтоновы графы
- •5.4. Оценки числа эйлеровых и гамильтоновых графов
- •6. Фундаментальные циклы и разрезы
- •6.1. Фундаментальные циклы
- •6.2. Разрезы
- •7. Связь теории графов с бинарными отношениями и векторными пространствами
- •7.1. Отношения на множествах и графы
- •7.2. Векторные пространства, связанные с графами
- •8. Планарность и раскраска графов
- •8.1. Планарные графы
- •8.2. Раскраска графов
- •8.3. Алгоритм последовательной раскраски
- •9. Покрытия и независимость
- •9.1. Покрывающие множества вершин и ребер
- •9.2. Независимые множества вершин и ребер
- •9.3. Доминирующие множества
- •10. Кратчайшие маршруты в графах
- •10.1. Расстояния в графах
- •10.2. Алгоритм Форда-Беллмана
- •11. Задача коммивояжера
- •11.1. Постановка задачи
- •11.2. Обходы вершин графа по глубине и ширине
- •11.3. Решение задачи коммивояжера
- •12. Потоки в сетях
- •12.1. Основные определения
- •12.2. Теорема Форда и Фалкерсона
- •12.3. Алгоритм построения максимального потока
- •13. Сетевое планирование и управление
- •13.1. Элементы сетевого графика
- •13.2. Временные параметры сетевого графика
- •13.3. Распределение ограниченных ресурсов
- •14. Анализ технических систем (на примере электрической цепи)
- •14.1 Закон Кирхгофа
- •14.2. Основные уравнения
- •15. Сигнальные графы
- •15.1. Общие представления о сигнальных графах
- •15.2. Преобразования сигнальных графов
- •15.3. Формула Мэзона
- •16. Переключательные сети (схемы)
- •17. Математические машины и цепи маркова
- •Библиографический список
- •Оглавление
- •Часть 1
- •394026 Воронеж, Московский просп., 14
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