Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив3 / kursach(7) / курсач / Документ Microsoft Office Word.docx
Скачиваний:
10
Добавлен:
07.08.2013
Размер:
63.1 Кб
Скачать

[ Править ]Набросок доказательства по стоимости вставка

Определить дисбаланс узла V будет абсолютная величина разницы в размерах между левым и правым узлом узла минус 1 или 0, в зависимости от того, что больше. Другими словами:

Сразу же после восстановления поддерева с корнем в V , I ( V ) = 0.

Лемма: Непосредственно перед восстановлением поддерево с корнем в V , ( это большой обозначения O ).

Доказательство леммы:

Пусть будет корнем поддерева сразу после восстановления. . Если есть вырожденный вставки (то есть, где каждый вставлен узел увеличивает высоту 1), то , и .

Так как до реконструкции, были вставки в поддерева с корнем в которые не привели к восстановлению. Каждый из этих вставок могут быть выполнены в раз. Окончательный вставки, которая вызывает восстановление расходов .Использование совокупного анализа становится ясно, что амортизированной стоимости вставки :

[ Править ]Удаление

Козел отпущения деревья необычны тем, что удаление проще, чем вставка. Чтобы включить удаление, козлом отпущения деревья нужно хранить дополнительную ценность со структурой дерева данных. Это свойство, которое мы будем называть MaxNodeCount просто представляет наивысший NodeCount. Он расположен в NodeCount, когда все дерево сбалансированы, и после введения установлен максимальный (MaxNodeCount, NodeCount).

Чтобы выполнить удаление, мы просто удаляем узел так же, как в простом бинарное дерево поиска, но если

NodeCount <= MaxNodeCount / 2

Затем мы сбалансировать все дерево о корень, не забывая установить MaxNodeCount в NodeCount.

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

[ Править ]Набросок доказательства на стоимость удаления

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

[ Править ]Lookup

Lookup не изменяется от стандартной бинарное дерево поиска, и имеет наихудшее время O (журнал N ). Это в отличие от скошенной деревьев , которые имеют наихудшее время O ( N ). Сокращение накладных расходов памяти узла по сравнению с другими самостоятельном балансе бинарные деревья поиска можно дополнительно улучшить локальность ссылок и кэширование.

Соседние файлы в папке курсач