Бинарные деревья

Содержание

Слайд 2

БИНАРНОЕ ДЕРЕВО

БИНАРНОЕ ДЕРЕВО

Слайд 3

Понятие бинарного дерева Эта динамическая структура данных состоит из узлов (вершин),

Понятие бинарного дерева

Эта динамическая структура данных состоит из узлов (вершин), каждый

из которых содержит, кроме данных, не более двух ссылок на различные бинарные деревья (поддеревья, ветви). На каждый узел (вершину) имеется ровно одна ссылка. Начальный узел (вершина) называется корнем дерева.
Дерево является рекурсивной структурой данных, поскольку каждое поддерево также является деревом
Слайд 4

Терминология Узел(вершина) дерева – каждый элемент дерева. Корень дерева- начальный узел.

Терминология

Узел(вершина) дерева – каждый элемент дерева.
Корень дерева- начальный узел.
Ветви дерева

– вершины дерева соединенные направленными дугами
Лист – вершина, не имеющий поддеревьев.
Предок – исходящий узел.
Потомок – входящий узел.
Высота дерева – количество уровней(слоев), на которых располагаются вершины.
Поддерево – часть древообразной структуры данных, которая может быть представлена в виде отдельного дерева.
Степень вершины – количество дуг, которое из нее выходит. Степень дерева равна максимальной степени вершины, входящей в дерево
Уровень вершины – это количество дуг от корня дерева до вершины.
Слайд 5

Терминология Бинарное (двоичное) дерево – это дерево, в котором каждая вершина

Терминология

Бинарное (двоичное) дерево – это дерево, в котором каждая вершина имеет не более двух

потомков.
Неполное бинарное дерево – это дерево, уровни которого заполнены не полностью.
Полное бинарное дерево – это дерево, которое содержит только полностью заполненные уровни.
Почти сбалансированное дерево – это дерево, у которого длины всевозможных путей от корня к внешним вершинам отличаются не более, чем на единицу.
Строгое бинарное дерево – это дерево, у которого вершины имеют степень ноль (у листьев) или два (у узлов).
Слайд 6

БИНАРНОЕ УПОРЯДОЧЕННОЕ ДЕРЕВО

БИНАРНОЕ УПОРЯДОЧЕННОЕ ДЕРЕВО

Слайд 7

Бинарное упорядоченное дерево (дерево поиска) Если дерево организовано таким образом, что

Бинарное упорядоченное дерево (дерево поиска)

Если дерево организовано таким образом, что для

каждого узла все ключи его правого поддерева больше ключа этого узла, а все ключи его левого поддерева – меньше, то такое дерево называется упорядоченным, или деревом поиска. Одинаковые ключи не допускаются.
Слайд 8

Пример построение дерева поиска Бинарное упорядоченное дерево по приходящим числам: 17,

Пример построение дерева поиска

Бинарное упорядоченное дерево по приходящим числам: 17, 18,

6, 5, 9, 23, 12, 7, 8.
Слайд 9

ИДЕАЛЬНО СБАЛАНСИРОВАННОЕ ДЕРЕВО

ИДЕАЛЬНО СБАЛАНСИРОВАННОЕ ДЕРЕВО

Слайд 10

Идеально сбалансированное дерево Идеально сбалансированным дерево - это дерево, в котором

Идеально сбалансированное дерево

Идеально сбалансированным дерево - это дерево, в котором число

узлов (вершин) в левом и правом поддеревьях отличается не более чем на единицу.
Слайд 11

Идеально сбалансированное дерево Алгоритм равномерного распределения для известного числа вершин формулируют,

Идеально сбалансированное дерево

Алгоритм равномерного распределения для известного числа вершин формулируют, используя

рекурсию.
1. Взять одну вершину в качестве корня.
2. Построить тем же способом левое поддерево с nl=n/2 вершинами.
3. Построить тем же способом правое поддерево с nr=n-nl-1 вершинами.
Слайд 12

Идеально сбалансированное дерево

Идеально сбалансированное дерево

Слайд 13

ОПЕРАЦИИ С БИНАРНЫМ УПОРЯДОЧЕННЫМ ДЕРЕВОМ 1.УДАЛЕНИЕ УЗЛА ИЗ ДЕРЕВА

ОПЕРАЦИИ С БИНАРНЫМ УПОРЯДОЧЕННЫМ ДЕРЕВОМ 1.УДАЛЕНИЕ УЗЛА ИЗ ДЕРЕВА

Слайд 14

Исключаемый узел – лист. Действия: Удалить ссылку на данный узел.

Исключаемый узел – лист.

Действия: Удалить ссылку на данный узел.

Слайд 15

Из исключаемого узла выходит одна ветвь. Действия: переназначить указатель (пунктир).

Из исключаемого узла выходит одна ветвь.

Действия: переназначить указатель (пунктир).

Слайд 16

Из исключаемого узла выходят две ветви Действия: на место удаляемого узла

Из исключаемого узла выходят две ветви

Действия: на место удаляемого узла

надо поставить либо самый правый узел левой ветви, либо самый левый узел правой ветви для сохранения упорядоченности дерева.
Слайд 17

ОПЕРАЦИИ С БИНАРНЫМ УПОРЯДОЧЕННЫМ ДЕРЕВОМ 2. ОБХОД (ПРОСМОТР) ДЕРЕВА

ОПЕРАЦИИ С БИНАРНЫМ УПОРЯДОЧЕННЫМ ДЕРЕВОМ 2. ОБХОД (ПРОСМОТР) ДЕРЕВА

Слайд 18

Обходы (просмотры) дерева Обход дерева – это упорядоченная последовательность вершин дерева,

Обходы (просмотры) дерева

Обход дерева – это упорядоченная последовательность вершин дерева, в которой

каждая вершина встречается только один раз.
Слайд 19

Способы обхода (просмотра) дерева а) Просмотр слева-направо: ARB (левое поддерево-корень-правое поддерево).

Способы обхода (просмотра) дерева

а) Просмотр слева-направо: ARB (левое поддерево-корень-правое поддерево).
б) Просмотр

сверху-вниз: RAB (корень до поддеревьев).
в) Просмотр снизу-вверх: ABR (корень после поддеревьев).
г) Просмотр справа-налево: BRA (правое поддерево-корень-левое поддерево).
Слайд 20

Пример обхода дерева а) ARB: - инфиксная запись. б) RAB: -

Пример обхода дерева

а) ARB: - инфиксная запись.
б) RAB: - префиксная

запись.
в) ABR: - постфиксная запись.