Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Сбалансированные и идеально сбалансированные бинарные деревья поиска

Читайте также:
  1. Алгоритм поиска подстроки Кнута-Морриса-Пратта (на основе префикс-функции)
  2. Алгоритм поиска подстроки, основанный на конечных автоматах
  3. Бинарные Комиссионные от Циклов: 1/3 – 2/3 Несгораемый Бинар
  4. Бинарные отношения. Свойства бинарных отношений. n-арные отношения
  5. В которой показано, что Тигеры не лазят по деревьям
  6. В поисках Знатока
  7. В ПОИСКАХ ЛУЧШЕГО ПУТИ

Бинарное дерево называется сбалансированным, если для любой его вершины v высоты левого и правого поддерева, выходящих из v (т.е. поддеревьев с корнями v->left и v->right), отличаются не более чем на 1.

Бинарное дерево называется идеально сбалансированным, если длины всех ветвей, начинающихся в корне дерева и заканчивающихся в узле с хотя бы одним из нулевых указателей v->left и v->right, отличаются не более чем на 1.

В литературе встречается другое (неравносильное) определение идеально сбалансированных деревьев. Будем неазывать идеально сбалансированными’ деревьями такие деревья, для которых для каждой вершины количество элементов в левом и правом поддереве отличается не более, чем на единицу.

 

 

Следующее условие равносильно условию идеально сбалансированности дерева: длины любых двух ветвей, начинающихся в одной вершине дерева, отличаются не более чем на 1. Доказательство тривиально. Из данного условия сразу же вытекает

Теорема. Идеально сбалансированное дерево является сбалансированным.

Иными словами, можно сказать, что для идеально сбалансированного дерева полностью заполнены элементами все слои дерева, кроме, быть может, последнего. Т.о. для идеально сбалансированного дерева высоты h количество элементов лежит в пределах 2h-1£N<2h. из чего сразу же вытекает следующая элементарная

Теорема. Для идеально сбалансированного дерева, состоящего из N вершин, высота дерева h лежит в пределах

log2 N < h £ 1+ log2 N.

Оказывается, верна следующая

Теорема. Идеально сбалансированное’ дерево является идеально сбалансированным.

Доказательство. Докажем данную теорему по индукции. Для деревьев высоты не более 1 теорема верна. Пусть для деревьев высоты h теорема верна, докажем ее для деревьев высоты h +1.

По определению идеально сбалансированных’ деревьев, каждое поддерево такого дерева – идеально сбалансировано’, а по условию индукции левое и правое поддеревья корня дерева высоты h+1 – идеально сбалансированы. В идеально сбалансированных деревьях высоты l для количества элементов дерева N выполнено соотношение 2l-1£N<2l, из чего сразу вытекает: если у двух идеально сбалансированных деревьев количество элементов в них отличается не более, чем на единицу, то либо их высоты равны, либо (если их высоты, соответственно, равны 2l-1 и 2l) в меньшем дереве последний слой полностью заполнен. В обоих случаях длины всех ветвей обоих деревьев, начинающихся в корне, заканчивающихся в вершинах, не имеющих хотя бы одного потомка, отличаются не более, чем на единицу. Отсюда сразу вытекает, что и для дерева, полученного с помощью объединения двух таких деревьев с помощью общего корневого элемента, длины всех ветвей, начинающихся в корне, заканчивающихся в вершинах, не имеющих хотя бы одного потомка, отличаются не более, чем на единицу.

¢

 

Для сбалансированного дерева верна оценка высоты дерева через количество вершин в нем, аналогичная по порядку оценке для идеально сбалансированных деревьев.

Теорема. Для сбалансированного дерева, состоящего из N вершин, высота дерева h имеет оценку:

h =Q(log2 N).

Доказательство. Пусть tn – минимальное количество элементов в сбалансированном дереве высоты n. Тогда верна рекурсивная формула

tn=tn-1+tn-2+1

т.е. для сбалансированного дерева высоты n с минимальным количеством вершин одно из поддеревьев, дочерних корневому элементу, должно быть сбалансированным деревом высоты n-1 с минимальным количеством вершин, а другое - сбалансированным деревом высоты n-2 с минимальным количеством вершин.

Уравнение tn-tn-1-tn-2=1 имеет общее решение вида

tn1l1n + с1l2n –1

где li являются решениями уравнения l2-l-1=0. Из этого следует, что

tn= (1+sqrt(5))/2)n (1+o(1))

после логарифмирования последнего равенства мы сразу получаем требуемое соотношение:

log2 C1 + log2 tn ≥ n log2 ((sqrt(5)+1)/2)

n ≤ (log2 tn + log2 C1)/ log2 ((sqrt(5)+1)/2)

для некоторого C1>0. Или, в исходных обозначениях,:

h ≤ log2 N / log2 ((sqrt(5)-1)/2)+ log2 C ≤ 1.45 log2 N+ log2 C

 

¢


Дата добавления: 2015-10-30; просмотров: 178 | Нарушение авторских прав


Читайте в этой же книге: QFindStat5(A,1,N,k) | Структуры данных. | Struct SStack3 st3; | Стек. Реализация 5 (на основе указателя на указатель). | Struct SQueue | Стандартная ссылочная реализация списков | InsertData( value, head, current); | Реализация L2-списка на основе двух стеков | Поиск пути в графе с наименьшим количеством промежуточных вершин | Поиск кратчайшего пути в графе |
<== предыдущая страница | следующая страница ==>
Добавление элемента| Добавление элемента в дерево

mybiblioteka.su - 2015-2024 год. (0.01 сек.)