Задачи на деревьях
Ациклическим называется граф, в котором отсутствуют циклы.
Граф без циклов называется лесом.
Дерево – это связный ациклический граф.
Лес Дерево
Компоненты связности леса – деревья.
Свойства деревьев.
Граф G – дерево, если он связный и число ребер на единицу мкньше числа вершин.
Если G – дерево, тогда любая цепь будет простой.
Любые две вершины дерева можно соединить цепью, притом простой.
Пусть G – дерево. Если добавить одно ребро, то получим ровно один простой цикл.
Понятие дерева имеет в теории нрафов важное значение, так это простой тип графов, и поэтому часто сначала на нем изучаются теоретические вопросы, поставленные для конечных графов. С другой стороны понятие дерева используется для решения различных технических задач. Т.е. имеет прикладное значение.
Рассмотрм одну из таких задач. Для этого введем еще одно определение.
Остовом (покрывающим деревом) графа называется его подграф, являющийся деревом и содержащий все вершины графа.
Пусть требуется n городов соединить сетью дорог. Стоимость строительства каждой дороги между двумя городами известна. Построим граф, в котором вершшины – города, ребра – дороги. Каждому ребру припишем вес, равный стоимости строительства дороги.. определим вес остова, как сумму весов составляющих его ребер.
Проектирование сети дорог сводится к построению остова гарфа, имеющего минимальный вес. В силу связности дерева выполнится условие соединить каждый город с каждой дорогой.
Рассмотрим сначала задачу построения остова без учета весов его ребер. Идея алгоритма состоит в том, что просматриваются в произвольном порядке ребра графа и св соответствии с правилом принимается решение о включении очередного ребра в остов.
Данное правило состоит в проверке условия, при выполнении которого рассматриваемое ребро образует цикл с построенным подграфом. Если условие выполняется, то ребро не включают в остов и окрашивают в красный цвет, если не выполняется, то включают в остов и окрашивают в зеленый цвет.
Работа алгоритма заканчивается после того, как ациклический подграф окажется связным и будет содержать все вершины графа.
Алгоритм построения остова
Шаг 1. Выбрать любое ребро и окрасить в зеленый цвет. Образовать подграф G1 из этого ребра. Выполнить шаг 2.
Шаг 2. Пусть просмотрено i > 1 ребра графа G. Выбрать любое неокрашенное ребро. Возможны четыре варианта.
Вариант а. Окрасить ребро в зеленый цвет и сформировать подграф Gi+1 , добавив к компонентам подграфа Gi новую компоненту связности – рассматриваемое ребро. Выполнить шаг 2.
Вариант б. Окрасить ребро в зеленый цвет и сформировать подграф Gi+1 , объединив две компоненты связности в одну. Выполнить шаг 2.
Вариант в. Окрасить ребро в зеленый цвет и сформировать подграф Gi+1 , добавив к одной компоненте подграфа Gi рассматриваемое ребро. Выполнить шаг 2.
Вариант г. Окрасить ребро в красный цвет, если оно образут в построенным подграфе цикл.
Замечание. Данный алгоритм называется «жадным», т.к. каждое ребро просматривается не более одного раза, т.е. после просмотра оно окрашивается в зеленый или красный цвет , и в рассмотрение больше не включается.
Построим остов для графа, заданного диаграммой, не учитывая вес ребер.
Окрасим ребро {v1, v2} в зеленый цвет.
Окрасим ребро {v4, v5} в зеленый цвет, т.к имеет место вариант а.
Окрасим ребро {v4, v1} в зеленый цвет, т.к имеет место вариант б.
Окрасим ребро {v2, v5} в красный цвет, т.к имеет место вариант г.
Окрасим ребро {v4, v3} в зеленый цвет, т.к имеет место вариант в.
Ациклический подграф содержит все вершины графа, значит остов построен:
Присвоим каждому ребру вес. И построим остов с минимальным весом (минимальный остов).
Алгоритм построения такого остова отличаеися от вышеизложенного лишь тем, что ребра просматриваются в порядке возрастания их весов. Если на каком – то шаге среди непросмотренных ребер имеется более одного ребра с наименьшим весом, то рассматривается на данном шаге любое из них.
У порядочим ребра графа, переписывая их в порядке возрастания их весов: {v1, v2}, {v4, v5},{v1, v4},{v5, v2},{v3, v5},{v3, v2},{v1, v3},{v4, v3}.
Окрасим ребро {v1, v2}в зеленый цвет.
Окрасим ребро {v4, v5} в зеленый цвет (вариант а).
Окрасим ребро {v1, v4} в зеленый цвет (вариант б).
Окрасим ребро {v5, v2} в красный цвет (вариант г).
Окрасим ребро {v3, v5} в зеленый цвет (вариант в).
Ациклический подграф содержит все вершины графа, значит остов построен:
Yandex.RTB R-A-252273-3
- Лекция 2
- Лекция 3
- Лекция 4
- Лекция 5
- Лекция 13
- Лекция 14
- Лекция 16
- Основные понятия
- Понятие множества. Способы задания множеств.
- Понятие множества. Способы задания множеств.
- Отношения между множествами.
- 3, Операции над множествами.
- Алгебра множеств.
- Теорема о количестве подмножеств конечного множества.
- Формула включений и исключений.
- Лекция 2
- 1.Понятие вектора. Прямое произведение множеств.
- 2.Теорема о количестве элементов прямого произведения.
- Понятие вектора. Прямое произведение множеств.
- Теорема о количестве элементов прямого произведения.
- Лекция 3
- 2. Понятие высказывания.
- 3. Логические операции над высказываниями
- 4.Формулы алгебры логики.
- Лекция 4
- 2. Важнейшие равносильности алгебры логики.
- 3.Равносильные преобразования формул.
- Задачи для самостоятельного решения
- Лекция 5
- Дизъюнктивная нормальная форма.
- Конъюнктивная нормальная форма.
- Проблема разрешимости.
- Лекция 6
- Функции алгебры логики.
- 3. Представление произвольной функции алгебры логики в виде формулы алгебры логики.
- 4.Приложения алгебры логики в технике (релейно-контактные схемы).
- Контрольные вопросы
- Лекция 7
- Совершенная дизъюнктивная нормальная форма.
- Совершенная конъюнктивная нормальная форма.
- Совершенная дизъюнктивная нормальная форма.
- 2.Совершенная конъюнктивная нормальная форма.
- Лекция 8
- 2.Понятие минимальной днф. Метод минимизирующих карт.
- 3.Метод Квайна.
- 4.Метод Карно.
- 5.Постановка задачи минимизации в геометрической форме.
- 6.Сокращенная днф.
- 7.Тупиковая днф. Днф Квайна.
- Лекция 9
- Некоторые логические операции. Двоичное сложение.
- Полином Жегалкина.
- Некоторые логические операции. Двоичное сложение.
- Полином Жегалкина.
- Лекция 10
- Полная система . Достаточное условие полноты.
- Критерий полноты системы булевых функций.
- Независимые системы. Базис замкнутого класса.
- Полная система. Достаточное условие полноты.
- Критерий полноты системы булевых функций.
- 3. Независимые системы. Базис замкнутого класса.
- Лекция 11
- Понятие предиката.
- Логические операции над предикатами.
- 1. Понятие предиката
- 2. Логические операции над предикатами
- Лекция 12
- 2. Формулы логики предикатов.
- Значение формулы логики предикатов.
- 4. Равносильные формулы логики предикатов.
- Лекция 13
- Построение противоположных утверждений.
- 3. Прямая, обратная и противоположная теоремы.
- 4. Необходимые и достаточные условия.
- 5. Доказательство методом от противного.
- Задачи для самостоятельного решения
- Лекция 14
- 2. Использование метода математической индукции для нахождения сумм конечного числа слагаемых
- 3. Использование метода математической индукции для доказательства неравенств и делимости выражений, зависящих от n на некоторое число
- 4. Обобщение метода математической индукции
- Контрольные вопросы
- Лекция 15
- Операции над бинарными отношениями.
- 3. Свойства бинарных отношений.
- 4. Специальные бинарные отношения.
- Контрольные вопросы
- Лекция 16
- Функция
- 1. 4. Отображение
- Обратная функция
- 2. Свойства отображений и функций
- 3.Операции над функциями. Свойства операций
- Контрольные вопросы
- Лекция 17
- Основные понятия .
- 2. Смежность, инцидентность, степени вершин.
- 3. Способы задания графов
- Маршруты в неориентированном графе
- Операции над графами.
- Связность. Компоненты связности
- Контрольные вопросы
- Лекция 18
- 2. Метрические характеристики неориентированного графа
- Минимальные маршруты в нагруженных графах
- Задачи на деревьях
- Цикловой ранг графа. Цикломатическое число
- Контрольные вопросы
- Лекция 19
- Эйлеровы цепи и циклы
- Гамильтоновы циклы и цепи
- Эйлеровы цепи и циклы
- Гамильтоновы циклы и цепи.
- Контрольные вопросы
- Лекция 20
- Двудольный граф. Условие существования двудольного графа
- Паросочетания . Реберные покрытия
- Двудольный граф. Условие существования двудольного графа
- Паросочетания. Реберные покрытия
- Контрольные вопросы
- Лекция 21
- Основные определения
- Алгоритм плоской укладки графа
- Контрольные вопросы
- Лекция 22
- Способы задания ориентированного графа
- Путь в ориентированном графе
- 4. Связность. Компоненты связности в орграфе
- Контрольные вопросы
- Лекция 23
- 2. Минимальные пути в нагруженных орграфах
- 3. Порядковая функция орграфа без контуров
- Контрольные вопросы