- •Часть 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
4.2. Ориентированные, упорядоченные и бинарные деревья
Ориентированным деревом (ордеревом, корневым деревом) называется орграф со следующими свойствами.
Существует единственная вершина, полустепень захода которой равна 0. Она называется корнем ориентированного дерева.
Полустепень захода всех остальных вершин равна 1.
Каждая вершина достижима из корня.
Например:
а) все возможные ориентированные деревья с 3-я вершинами:
Р ис. 15
с 4-я вершинами:
Рис. 16
Концевая (висячая) вершина ордерева называется листом. Путь из корня в лист называется ветвью.
Уровень вершины ордерева – это расстояние от корня до вершины. Корень имеет уровень 0. Вершины одного уровня образуют ярус дерева.
Эквивалентное определение ориентированного дерева
Ордерево D – это конечное множество вершин, таких что:
1) имеется одна вершина r, называемая корнем данного дерева;
2) остальные вершины содержаться в k попарно непересекающихся множества D1,…Dk , каждое из которых является ордеревом. (k0) D= .
Множества D1,…,Dk называются поддеревьями.
Упорядоченным деревом называется ориентированное дерево, в котором:
задан порядок поддеревьев
каждое поддерево Di является упорядоченным поддеревом.
дерево с одной вершиной считается упорядоченным поддеревом.
Замечание. При изображении ориентированных деревьев принято соглашение о том, что корень размещается вверху. В связи с этим все дуги оказываются ориентированными сверху вниз, поэтому стрелки на них можно не изображать. В результате, диаграммы свободных, ориентированных и упорядоченных деревьев оказываются графически неотличимыми. В этом случае требуется дополнительное указание, какого класса дерево изображено на диаграмме. Обычно это ясно из контекста.
Н апример: Имеются 3 диаграммы деревьев:
Рис. 17
Как упорядоченные деревья, они все различны. Как ориентированные деревья D1=D2D3. Как свободные деревья, они все изоморфны D1=D2=D3.
Терема 3. Число упорядоченных деревьев с m дугами не превосходит 4m.
Доказательство: Рассмотрим алгоритм обхода упорядоченного дерева, называемого «поиском в глубину». Этот обход рекурсивно описывается следующим образом:
Начать с корня. Пока есть деревья выполнять.
Перейти в корень очередного поддерева, обойти это поддерево в глубину.
Вернуться в корень исходного поддерева.
В результате «обхода в глубину» по каждой дуге проходят ровно 2 раза: один раз при переходе в очередное поддерево, второй раз – при возвращении из него. В соответствии с «обходом в глубину» строиться последовательность из нулей и единиц. На каждом шаге записывается нуль, если происходит переход в очередное поддерево, а единица – при возвращении из поддерева. В результате получается последовательность из нулей и единиц длины 2m, которая называется кодом дерева. По этому коду однозначно восстанавливается дерево, т.к. каждый очередной разряд однозначно указывает, начинать ли строить новое очередное поддерево или возвращаться на ярус
ближе к корню. Таким образом. упорядоченных деревьев с m дугами не больше, чем последовательностей из нулей и единиц длины 2m. А их число равно 22m=4m. Теорема доказана.
Изоморфизм ориентированных деревьев определяется так же, как и изоморфизм графов, но с дополнительным условием - корень должен отображаться в корень. Для упорядоченных деревьев требуется также сохранение порядка поддеревьев.
Следствие. Число неизоморфных ориентированных или свободных деревьев с m ребрами не превосходит 4m.
Доказательство: Выделив в неизоморфных свободных деревьях по одной вершине, мы получаем неизоморфные ориентированные деревья. Упорядочивая поддеревья в неизоморфных ориентированных поддеревьях, мы получаем упорядоченные деревья. Поэтому число неизоморфных свободных деревьев с m ребрами не превосходит числа неизоморфных ориентированных деревьев с m дугами, которое в свою очередь не превосходит числа неизоморфных (различных) упорядоченных деревьев с m дугами. Отсюда из теоремы 3 следует утверждение следствия.
Бинарное дерево – это конечное множество вершин, которое либо пусто, либо состоит из корня и не более двух непересекающихся бинарных поддеревьев – левого и правого. Заметим, что бинарное дерево не является упорядоченным.
Пример: два различных бинарных дерева:
Р ис. 18
Эти деревья изоморфны как упорядоченные, ориентированные и свободные, но не изоморфны как бинарные деревья.