Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Деревья.pptx
Скачиваний:
14
Добавлен:
22.03.2023
Размер:
697.49 Кб
Скачать

Дерево бинарного поиска (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-дерево методом рандомизованных вставок.

Соседние файлы в папке Лекции