- •В. Н. Степанов дискретная математика: графы и алгоритмы на графах
- •Предисловие
- •1. Основные понятия теории графов
- •1.1. Граф и его разновидности
- •1.2. Морфизмы графов
- •1.3. Степени вершин
- •1.4. Маршруты, цепи, циклы, связность
- •1.5. Операции над графами
- •1.6. Примеры графов
- •1.7. Метрические характеристики графов
- •1.8. Представления графов
- •2. Алгоритмы и сложность
- •2.1. Понятие алгоритма
- •2.2. Сложность алгоритма
- •2.3. Запись алгоритма
- •3. Обходы графов
- •3.1. Поиск в глубину на графе
- •3.2. Поиск в ширину на графе
- •3.3. Алгоритм выделения компонент связности
- •4. Деревья
- •4.1. Деревья. Свойства деревьев
- •4.2. Остовы. Теорема Кирхгофа
- •4.3. Теорема Кэли
- •4.4. Фундаментальная система циклов. Цикломатическое число
- •4.5. Алгоритм отыскания фундаментального множества циклов на графе
- •5. Остов минимального веса. Алгоритм Краскала и Прима
- •5.1. Алгоритм д. Краскала
- •5.2. Алгоритм р. Прима
- •6. Кратчайшие пути между вершинами графа
- •6.1. Алгоритм Дейкстры
- •6.2. Алгоритм Флойда
- •7. Эйлеровы графы
- •7.1. Теорема Эйлера
- •7.2. Алгоритм Флёри
- •8. Гамильтоновы графы
- •8.1. Гамильтоновы маршруты. Задача коммивояжера
- •8.2. Существование гамильтоновых маршрутов
- •9. Алгоритмы отыскания гамильтоновых циклов
- •9.1. Алгоритм с возвратом (полного перебора)
1.5. Операции над графами
Рассмотрим некоторые основные операции, производимые над графами.
1. Дополнение графа. Дополнением графа называется граф , где и , то есть на вершинах графа строится полный граф, а затем из этого полного графа удаляются ребра графа . На рис. 1.5.1 граф справа является дополнением графа слева. Графы, изображенные на рис. 1.5.1, взаимодополнительные и изоморфные. Биекция, определяющая изоморфизм, может быть задана в виде
|
|
|
Самодополнительный граф – это граф, изоморфный своему дополнению. На рис. 1.5.2 изображен еще один самодополнительный граф.
2. Объединение графов. Объединением графов и
(обозначается ) называется граф , множеством вершин которого является , а множеством ребер (рис. 1.5.3). Объединение графов дизъюнктивное, если объединяемые графы не имеют общих вершин: . Дизъюнктивное объединение графов обозначается .
|
3. Пересечение графов. Пересечением графов и
(обозначается ) называется граф , где (рис. 1.5.4).
|
4. Соединение графов. Соединение графов и (обозначается , при условии ) состоит из и всех ребер где и (рис. 1.5.5).
5. Произведение графов. Произведением графов и называется граф , в котором
тогда и только тогда, когда и или и Пример произведения графов представлен на рис. 1.5.6.
6. Стягивание графа. Пусть дан граф и ребро соединяющее вершины и . Операция удаления ребра и отождествление вершин и называется стягиванием (рис. 1.5.7).
=
|
|
|
|
7. Реберный граф. Для произвольного графа реберный граф определяется следующими двумя условиями:
1) вершины графа взаимно однозначно сопоставлены ребрам гра- фа .
2) вершины и смежны в тогда и только тогда, когда соответствующие им ребра и смежны в .
Реберный граф строится следующим образом. На каждом ребре графа выбирается фиксированная точка, например, середина этого ребра. Пара таких вершин и соединяется новым ребром, принадлежащим тогда и только тогда, когда соответствующие ребра в графе имеют общую вершину. На рис. 1.5.8 слева изображен граф , а справа – его реберный граф .