- Введение в деревья
- Дерево и его свойства
- Центры и Би-Центры Дерева
- Алгоритм нахождения центров и бицентров дерева
- Маркированные деревья
- пример
- Немеченые деревья
- пример
- Укорененное дерево
- Двоичное дерево поиска
- Лекция 11
- Базовые понятия и утверждения
- 1. Определение и основные свойства деревьев.
- 3.9. Деревья и леса
Введение в деревья
Дерево – это дискретная структура, которая представляет иерархические отношения между отдельными элементами или узлами. Дерево, в котором родитель имеет не более двух детей, называется бинарным деревом.
Дерево и его свойства
Определение – Дерево – это связный ациклический неориентированный граф. Между каждой парой вершин в G существует уникальный путь. Дерево с N числом вершин содержит ( N − 1 ) число ребер. Вершина, которая имеет 0 градусов, называется корнем дерева. Вершина, имеющая 1 градус, называется листовым узлом дерева, а степень внутреннего узла составляет не менее 2.
Пример . Ниже приведен пример дерева.
Центры и Би-Центры Дерева
Центр дерева – это вершина с минимальным эксцентриситетом. Эксцентриситет вершины X в дереве G – это максимальное расстояние между вершиной X и любой другой вершиной дерева. Максимальный эксцентриситет – диаметр дерева. Если у дерева есть только один центр, оно называется Центральным деревом, а если у дерева есть только несколько центров, оно называется Би-центральным деревом. Каждое дерево является либо центральным, либо двухцентральным.
Алгоритм нахождения центров и бицентров дерева
Шаг 1 – Удалите все вершины степени 1 из данного дерева, а также удалите их падающие ребра.
Шаг 2 – Повторяйте шаг 1, пока не останется одна вершина или две вершины, соединенные ребром. Если осталась одна вершина, то это центр дерева, а если осталось две вершины, соединенные ребром, то это бицентр дерева.
Узнайте центр / би-центр следующего дерева –
Сначала мы удалим все вершины степени 1, а также удалим их падающие ребра и получим следующее дерево:
Опять же, мы удалим все вершины степени 1, а также удалим их инцидентные ребра и получим следующее дерево:
Наконец, мы получили одну вершину «c» и остановили алгоритм. Поскольку существует единственная вершина, у этого дерева есть один центр ‘c’, и дерево является центральным деревом.
Узнайте центр / би-центр следующего дерева –
Сначала мы удалим все вершины степени 1, а также удалим их падающие ребра и получим следующее дерево:
Опять же, мы удалим все вершины степени 1, а также удалим их инцидентные ребра и получим следующее дерево:
Наконец, у нас осталось две вершины «c» и «d», поэтому мы останавливаем алгоритм. Поскольку оставлены две вершины, соединенные ребром, это дерево имеет двухцентровый «cd», а дерево является двухцентровым.
Маркированные деревья
Определение – помеченное дерево – это дерево, вершинам которого присваиваются уникальные номера от 1 до n. Мы можем посчитать такие деревья для малых значений n вручную, чтобы предположить общую формулу. Число помеченных деревьев из n вершин равно n n − 2 . Два помеченных дерева изоморфны, если их графы изоморфны и соответствующие точки двух деревьев имеют одинаковые метки.
пример
Немеченые деревья
Определение – немеченое дерево – это дерево, вершинам которого не назначены никакие числа. Число помеченных деревьев с числом вершин n равно $ \ frac <(N + 1)! N! >$ (n- е каталонское число)
пример
Укорененное дерево
Корневое дерево G – это связный ациклический граф со специальным узлом, который называется корнем дерева, и каждое ребро прямо или косвенно происходит от корня. Упорядоченное корневое дерево – это корневое дерево, в котором упорядочены дочерние элементы каждой внутренней вершины. Если каждая внутренняя вершина корневого дерева имеет не более m дочерних элементов, она называется m-арным деревом. Если каждая внутренняя вершина корневого дерева имеет ровно m детей, она называется полным m-арным деревом. Если m = 2 , корневое дерево называется бинарным деревом.
Двоичное дерево поиска
Двоичное дерево поиска – это двоичное дерево, которое удовлетворяет следующему свойству:
- X в левом поддереве вершины V , V a l u e ( X ) l e V a l u e ( V )
- Y в правом поддереве вершины V , V a l u e ( Y ) g e V a l u e ( V )
Таким образом, значение всех вершин левого поддерева внутреннего узла V меньше или равно V , а значение всех вершин правого поддерева внутреннего узла V больше или равно V . Количество ссылок от корневого узла к самому глубокому узлу является высотой дерева двоичного поиска.
Источник
Лекция 11
Дерево. Лес (ациклический граф). Остовный подграф. Остов. Взвешенный граф. Минимальный остов. Кодирование деревьев.
Базовые понятия и утверждения
1. Определение и основные свойства деревьев.
Определение. Граф называется деревом, если он связный и в нем нет циклов.
Одноэлементный граф, т.е. граф, имеющий одну вершину и не имеющий ребер, также считается деревом.
Граф называется лесом (или ациклическим графом), если в нем нет циклов. Очевидно, что каждая компонента связности леса — дерево.
Пример 1. Граф (рис. 3.19) не является ни деревом, ни лесом. Граф
(рис. 3.20) — дерево. Граф
(рис. 3.21) — лес, состоящий из четырех деревьев.
Пример 2. Представьте диаграммами все (с точностью до изоморфизма) деревья с пятью вершинами.
◄ Имеется три различных (с точностью изоморфизма) дерева с пятью вершинами (рис. 3.22 — 3.24). ►
Деревья обладают рядом характеристических свойств, по наличию или отсутствию каждого их которых в рассматриваемом графе можно определить, является граф деревом или нет. Перечислим эти свойства:
1) граф — дерево в том и только в том случае, когда в нем нет циклов и
;
2) граф — дерево в том и только в том случае, когда он связный и
;
3) граф — дерево в том и только в том случае, когда он связный, и каждое его ребро является мостом;
4) граф — дерево в том и только в том случае, когда любые две вершины графа
можно соединить простой цепью, притом единственной;
5) граф — дерево в том и только в том случае, когда в нем нет циклов и добавление к нему нового ребра приводит к образованию единственного простого цикла.
Также приведем одно из характеристических свойств леса: граф , имеющий
компонент связности, является лесом в том и только в том случае, когда
.
2. Остовы графа. Подграф графа
называется остовным подграфом, если множество его вершин совпадает с множеством вершин графа
.
Остовом обыкновенного графа называется его остовный подграф, являющийся деревом.
Пусть — связный граф. Если
содержит хотя бы один цикл, то удалив из графа
некоторое ребро этого цикла, мы уменьшим число циклов графа по крайней мере на единицу, сохранив при этом его связность. Ясно, что, последовательно разрушая циклы данного графа, можно прийти к остову графа. Поскольку дерево с
вершинами имеет ровно
ребро, то для получения остова нужно удалить из графа
ребро, т.е. число ребер, равное цикломатическому числу
связного графа
.
Пусть теперь — произвольный граф с
компонентами связности. Из каждой компоненты связности
этого графа удалим
ребро так, чтобы получился остов этой компоненты. В результате получим некоторый остовный подграф графа
. Подсчитаем общее число ребер, которое нам пришлось для этого удалить. Сложив равенства
,
, получим:
.
Таким образом, чтобы получить остовный подграф, нужно, последовательно разрушая циклы графа, удалить из него число ребер, равное его цикломатическому числу.
Пример 3. Построим остов графа , диаграмма которого изображена на рис. 3.25. Удалим из графа
ребро
; получим граф
(рис. 3.26). Из графа
удалим ребро
; получим граф
(рис. 3.27). Из графа
удалим ребро
; получим граф
(рис. 3.28), который является одним из остовов графа
.
Источник
3.9. Деревья и леса
Каждая компонента связности леса – дерево, следовательно, для -связного леса существует дизъюнктное разбиение на
деревьев.
Пример 1. Граф
не является деревом, не является лесом. Граф
— дерево. Граф
— лес.
Лемма. Если граф – дерево, то каждое его ребро является мостом.
Доказательство.В параграфе 3.6 было доказано, что если ребро графа не содержится ни в одном цикле, то оно является мостом. Дерево граф ациклический, следовательно, каждое его ребро мост.■
Теорема (основная теорема о деревьях). Для графа следующие утверждения равносильны:
- Граф
— дерево.
ациклический и
.
связный и
.
связный и каждое его ребро является мостом.
- Любые две вершины графа
можно соединить, притом единственной, простой цепью.
ациклический, и добавление к нему нового ребра приводит к образованию единственного простого цикла.
Доказательство.Доказательство проведем по следующей схеме:.
. Индукцией по числу ребер проверим, что для любого дерева выполняется равенство
. Базис индукции.Пусть
, тогда
, и равенство
выполнено. Индуктивный переход.Предположим, что требуемое равенство выполняется для любого дерева с числом ребер меньшим либо равным
. Докажем, что оно справедливо и для дерева с числом ребер
. Удалим из графа
произвольное ребро
.Согласно лемме, ребро
— мост. По теореме о мостах
. Следовательно, граф
состоит из двух компонент связности,
и
, каждая из которых – дерево с числом ребер меньшим либо равным
. Для каждой компоненты связности справедливо предположение индукции, т.е. выполнены равенства
и
. Складывая эти равенства почленно, получим:
. Или
.
. Докажем, что если граф
ациклический и
, то граф связный. Будем рассуждать от противного, т.е. предположим, что найдется ациклический граф
, число ребер которого на единицу меньше числа вершин, который связным не является. Пусть
,
, — число компонент связности графа
. Каждая компонента связности — дерево. Переход
уже доказан, следовательно, для каждой компоненты связности
можем записать:
. Просуммировав по
, получим:
. Или
. Так как
, то пришли к противоречию с условием
. Следовательно, наше предположение было неверным.
. Докажем, что если граф связный и
, то каждое его ребро является мостом. Будем рассуждать от противного. Предположим, что найдется связный граф
, такой что
, в котором есть ребро
, не являющееся мостом. Тогда граф
связный и
. То есть для связного графа
выполняется условие
, что противоречит следствию теоремы о знаке цикломатического числа (см. параграф 3.7).
. Из связности графа вытекает, что любые две его вершины можно соединить маршрутом, и, следовательно, простой цепью. Докажем, что эта простая цепь единственна. Доказательство проведем от противного. Предположим, что найдется связный граф, все ребра которого — мосты, такой, что в нем есть две вершины
и
, соединенные двумя различными простыми цепями
и
. Поскольку цепи
и
различны, то имеется ребро
, входящее в цепь
и не входящее в цепь
. Пусть
и
— фрагменты цепи
. Склеим инвертированный фрагмент
, цепь
и инвертированный фрагмент
. Получим на графе
— маршрут, не содержащий ребра
. Из этого маршрута выделим
-простую цепь и склеим ее с цепью
. В результате получим цикл, содержащий
, а это противоречит тому, что ребро
— мост.
. Пусть для графа
выполнено условие 5. Проверим сначала, что граф
не содержит циклов. Будем рассуждать от противного. Предположим, что на графе
имеется цикл. Пусть
— одно из ребер этого цикла и вершины
и
— концы этого ребра. Тогда
— простая цепь, соединяющая вершины
и
. Обозначим ее
. Удалим из графа
ребро
. Поскольку ребра циклов не являются мостами и граф
связный, то граф
также будет связным. Следовательно, на графе
существует
— маршрут. Выделим из этого маршрута
-простую цепь и обозначим ее
. Таким образом мы показали, что на графе
есть две простые цепи, соединяющие вершины
и
:
и
, что противоречит условию 5. Покажем, что добавление к графу
нового ребра приводит к образованию, притом единственного, цикла. Возьмем на графе
две произвольные вершины
и
и соединим их новым ребром
; получим граф
. По условию на графе
имеется единственная простая
-цепь. Склеив ее с цепью
, получим на графе
простой цикл. Докажем, что этот цикл единственный. Предположим, что при добавлении ребра
образовалось два простых цикла. Тогда, удалив из каждого из них ребро
, получим на графе
две простые
-цепи, а наличие двух -цепей противоречит условию.
. Будем рассуждать от противного, т.е. предположим, что существует несвязный граф
, для которого выполнено условие 6. Возьмем на этом графе две вершины, лежащие в разных компонентах связности, и соединим их ребром
. В результате образуется граф
, для которого ребро
является мостом и, следовательно, не содержится ни в одном цикле. Таким образом, добавление ребра
не привело к образованию цикла, что противоречит условию 6.■ Следствие 1.Неодноэлементное дерево имеет не менее двух висячих вершин.Доказательство.Рассмотрим произвольное дерево, имеющее не менее двух вершин. Представим множество его вершин
в виде
, где
— множество висячих вершин этого дерева. Тогда
. Но
, поэтому
. Откуда
. ■ Следствие 2.Если граф
—
-связный лес, то
. Последнее следствие рекомендуем доказать самостоятельно.
Источник