
- •КЛАССИФИКАЦИЯ
- •ДЕРЕВЬЯ
- •Дерево (tree) – это непустая коллекция вершин и ребер, удовлетворяющих определенным требованиям.
- ••Вершина (vertex) – это простой объект (называемый также узлом), который может иметь имя
- ••Определяющее свойство дерева – существование только одного пути, соединяющие любые два узла.
- ••Деревья
- •Дерево с корнем (или неупорядоченное дерево) – это узел (называемый корнем), связанный с
- •Узлы в упорядоченных деревьях могут иметь
- •Если каждый узел содержит конкретное количество дочерних узлов, появляющихся в конкретном порядке, мы
- •Двоичное
- •Граф – это набор узлов с набором ребер, которые соединяют пары отдельных узлов
- •Каждое дерево считается графом. Но граф считается деревом, если он удовлетворяет любому из
- •МАТЕМАТИЧЕСКИЕ
- •ОБХОД ДЕРЕВА
- ••Прямой обход (сверху вниз), при котором мы посещаем узел, а затем левое и
- •Прямой обход дерева (рекурсивная реализация)
- •Прямой обход (нерекурсивная реализация)
- •ДЕРЕВЬЯ
- •Дерево бинарного поиска (BST) - это бинарное дерево, с каждым из внутренних узлов
- •Определяющее свойство бинарного дерева:
- •Характеристики производительности BST
- •СБАЛАНСИРОВАН НЫЕ ДЕРЕВЬЯ
- •Цель применения алгоритма с использованием сбалансированного дерева – сохранение BST-дерева максимально сбалансированным при
- •Функция разделения на части partR
- •РАНДОМИЗИРОВАННЫЕ BST-ДЕРЕВЬЯ
- •Новая запись в рандомизированном BST- дереве может располагаться в любом месте пути поиска
- ••Построение рандомизованного BST-дерева эквивалентно построению стандартного BST-дерева из случайно переставленных в исходном состоянии
- •Вставка ключей A B C D E F G H I в первоначально
- •Недостатки рандомизованных BST-деревьев.
- •Расширенными BST-деревьями являются деревья, построенные при помощи вставки со скосом (splay insertion).
- •НИСХОДЯЩИЕ 2-3-4 ДЕРЕВЬЯ
- •2-3-4 дерево поиска – это либо пустое дерево, либо дерево, содержащее три типа
- •Сбалансированное 2-3-4 дерево поиска – это 2-3- 4 дерево поиска, все пустые деревья
- •Вставка в 2-3-4 дерево
- •Построение 2-3-4 дерева
- •КРАСНО-ЧЁРНЫЕ ДЕРЕВЬЯ
- •Красно-чёрное дерево (RB-Tree) — это одно из самобалансирующихся двоичных деревьев поиска, гарантирующих логарифмический
- •Типы связей:
- •4 - узлы представляются тремя 2
- •Требования к RB-деревьям:
- •Разделение 4- узлов в RB – дереве
- •Вставка в RB – дерево
- •Построение RB -
- •RB- дерево бинарного поиска – это дерево бинарного поиска, в котором каждый узел
- •Сбалансированное RB- дерево бинарного поиска – это RB – дерево бинарного поиска, в
- •ПОРАЗРЯДНЫЙ
- •Деревья цифрового поиска.
- •Ветвление в дереве выполняется не в соответствии с результатом сравнения полных ключей, а
- •DST-дерево характеризуется тем, что каждый ключ размещается где-то вдоль пути, определенного разрядами ключа
- •Построение DST-дерева
- •Trie – дерево – бинарное дерево, имеющее ключи, связанные с каждым из его
- •Поиск и вставка в TRIE дереве.
- •Построение TRIE-дерева
- •Patricia-деревья
- •Поиск и вставка в PATRICIA- дереве и его построение
- •МНОГОПУТЕВЫЕ
- •Многопутевое trie-дерево – это многопутевое дерево, имеющее связанные с каждым их его листьев
- •Структуры trie-деревьев существования
- •Trie – дерево тернарного поиска (ternary search trie – TST)
- •TST-деревья
- •ВНЕШНИЙ ПОИСК
- •B-дерево порядка М – это дерево, которое либо пусто, либо состоит из k-узлов

Дерево бинарного поиска (BST) - это бинарное дерево, с каждым из внутренних узлов которого связан ключ, причем ключ в любом узле больше (или равен) ключам и во всех узлах левого поддерева этого узла и меньше (или равен) ключам во всех узлах правого поддерева этого узла.

Определяющее свойство бинарного дерева:
Наличие у каждого узла левой и правой связей

Характеристики производительности BST
•Для обнаружения попадания при поиске в дереве бинарного поиска, образованном N произвольными ключами, в среднем требуется около 2lgN=1.39lgN сравнений.
•Для выполнения вставок и обнаружения промахов при поиске в дереве бинарного поиска, образованном N произвольными ключами, в среднем требуется около 2lgN=1.39lgN сравнений.
•В худшем случае для поиска в дереве бинарного поиска с N ключами может требоваться N сравнений.

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

Цель применения алгоритма с использованием сбалансированного дерева – сохранение BST-дерева максимально сбалансированным при сохранении эффективности вставки, удаления и других операций.

Функция разделения на части partR
Эта рекурсивная функция приводит BST-дерево в полностью сбалансированное состояние при затратах времени, которые определяются линейной зависимостью. Разделение на части выполняется с целью помещения среднего узла в корень, а затем это же выполняется для поддеревьев.
Void balanceR(link& h)
{
if ( (h==0) | | (h->N ==1) return; partR(h, h->N/2) ; balanceR(h->1);
balancer(h->r);
}

РАНДОМИЗИРОВАННЫЕ BST-ДЕРЕВЬЯ

Новая запись в рандомизированном BST- дереве может располагаться в любом месте пути поиска записи, в зависимости от результата рандомизованных решений, принятых во время поиска.
На рисунке показаны возможные местоположения записи содержащей ключ F, при ее вставке.

•Построение рандомизованного BST-дерева эквивалентно построению стандартного BST-дерева из случайно переставленных в исходном состоянии ключей. Для конструирования рандомизованного BST- дерева из N элементов используется около 2N lnN сравнений, а для выполнения поиска в таком дереве требуется приблизительно 2lnN сравнений.
•Вероятность того, что затраты на создание рандомизованного BST-дерева превышают усредненные затраты в α раз, меньше .

Вставка ключей A B C D E F G H I в первоначально пустое BST-дерево методом рандомизованных вставок.