- 5.14. Деревья и их свойства
- 5.15. Деревья и операции над ними
- Лекция 11
- Базовые понятия и утверждения
- 1. Определение и основные свойства деревьев.
- Введение в деревья
- Дерево и его свойства
- Центры и Би-Центры Дерева
- Алгоритм нахождения центров и бицентров дерева
- Маркированные деревья
- пример
- Немеченые деревья
- пример
- Укорененное дерево
- Двоичное дерево поиска
5.14. Деревья и их свойства
–
2. Любые 2 вершины v и w соединены единственной цепью.
Доказательство следует из определения дерева.
3. Для дерева справедливо следующее соотношение: p = q + 1 (*), где p – число вершин, q – число ребер.
Доказательство (индукцией по p):
а) p = 1 – дерево состоит из одной вершины, q = 0, тогда соотношение (*) выглядит 1 = 1.
б) Пусть соотношение (*) верно для любых деревьев, у которых вершин меньше, чем p.
в) Рассмотрим дерево с p вершинами. Уберем ребро, соединяющее вершины v и w. Наш граф разбился на 2 подграфа
V
.
4. Если любые 2 вершины v и w в дереве соединить ребром, то получим ровно одну замкнутую цепь.
Доказательство следует из свойства 2.
5. Пусть G = (p, q) – дерево, где p > 1. Тогда в дереве G существуют хотя бы 2 вершины v и w такие, что .
Доказательство. Как известно,
Определение. Вершины в дереве, степень которых равна 1, называются концевыми.
где max(n) – глубина (количество ярусов) дерева, – корень дерева (корень – это некоторая выделенная вершина).
5.15. Деревья и операции над ними
1. Ребро – дерево с корнем (код 01), дереву из одного ребра дается код 01.
2. Если у нас есть дерево с корнем
При этом пусть дерево с корнем имеет код А, тогда дереву, полученному в результате операции 2, ставится код 0А1.
3. Если у нас есть два дерева с корнем,
то результат склеивания этих деревьев также есть дерево с корнем. Если при этом у одного дерева код А, а у другого код В, тогда у дерева, которое получается склеиванием этих деревьев, код будет АВ.
Замечание. Любое дерево с корнем можно получить при помощи вышеуказанных трех операций, при этом всегда можно определить его код.
Пример. Пусть дано корневое дерево Т, определить его код, где
Решение: Исходное дерево Т получено из деревьев двукратным применением операции 3, где
1
Дерево получено из дерева операции 1 двукратным применением
операции 3, тогда код дерева
2) Дерево Т2 получено с помощью операции 1, его код – 01.
3) Дерево Т3 получено из дерева операции 1 двукратным применением операции 2, тогда код дерева Т3 В = 000111.
В итоге код корневого дерева Т есть код А01В = 0010101101000111.
1) Длина кода дерева равна удвоенному числу его ребер (2q).
2) В любом начальном отрезке (если считать код дерева слева) число нулей числа единиц.
3) Во всем коде число нулей равно числу единиц.
Встает логичный вопрос: как восстанавливать по коду дерево?
Берем произвольный код
1) Пусть равенство наступит в конце кода, тогда
2) Пусть равенство наступит, не доходя до конца кода, т.е.
Аналогично, т.е. согласно пунктам 1) и 2), восстанавливаем по кодам соответствующие им деревья. Этот процесс называется декодированием. Не сложно доказать (мы практически уже показали), что между деревом и его кодом существует взаимно однозначное соответствие.
Пример. Построить корневое дерево по его коду .
Решение: q = 7.
Источник
Лекция 11
Дерево. Лес (ациклический граф). Остовный подграф. Остов. Взвешенный граф. Минимальный остов. Кодирование деревьев.
Базовые понятия и утверждения
1. Определение и основные свойства деревьев.
Определение. Граф называется деревом, если он связный и в нем нет циклов.
Одноэлементный граф, т.е. граф, имеющий одну вершину и не имеющий ребер, также считается деревом.
Граф называется лесом (или ациклическим графом), если в нем нет циклов. Очевидно, что каждая компонента связности леса — дерево.
Пример 1. Граф
Пример 2. Представьте диаграммами все (с точностью до изоморфизма) деревья с пятью вершинами.
◄ Имеется три различных (с точностью изоморфизма) дерева с пятью вершинами (рис. 3.22 — 3.24). ►
Деревья обладают рядом характеристических свойств, по наличию или отсутствию каждого их которых в рассматриваемом графе можно определить, является граф деревом или нет. Перечислим эти свойства:
1) граф
2) граф
3) граф — дерево в том и только в том случае, когда он связный, и каждое его ребро является мостом;
4) граф
5) граф — дерево в том и только в том случае, когда в нем нет циклов и добавление к нему нового ребра приводит к образованию единственного простого цикла.
Также приведем одно из характеристических свойств леса: граф
2. Остовы графа. Подграф
Остовом обыкновенного графа называется его остовный подграф, являющийся деревом.
Пусть
Пусть теперь
.
Таким образом, чтобы получить остовный подграф, нужно, последовательно разрушая циклы графа, удалить из него число ребер, равное его цикломатическому числу.
Пример 3. Построим остов графа
Источник
Введение в деревья
Дерево – это дискретная структура, которая представляет иерархические отношения между отдельными элементами или узлами. Дерево, в котором родитель имеет не более двух детей, называется бинарным деревом.
Дерево и его свойства
Определение – Дерево – это связный ациклический неориентированный граф. Между каждой парой вершин в 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 . Количество ссылок от корневого узла к самому глубокому узлу является высотой дерева двоичного поиска.
Источник