logo
лекции по МОТС / ДИСКРЕТНАЯ МАТЕМАТИКА Графы

9.4.10. Сбалансированные деревья

(Бинарное) дерево называется подровненным деревом, или АВЛ-деревом (Адель-сон-Вельский и Ландис, 1962), или сбалансированным деревом, если для любого узла высота левого и правого поддеревьев отличается не более чем на 1.

Пример

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

ТЕОРЕМА Для подровненного бинарного дерева h < 2 log2 p.

доказательство

Рассмотрим наиболее несимметричные сбалансированные деревья, скажем, такие, у которых всякое левое поддерево на 1 выше правого. Такие сбалансированные деревья имеют макси­мальную возможную высоту среди всех сбалансированных деревьев с заданным числом вер­шин. Пусть Ph — число вершин в наиболее несимметричном сбалансированном дереве вы­соты h. По построению имеем: р = Ph = Ph-1 + Ph-2 + 1. Непосредственно проверяется, что Р0 = 1, Р1 = 2, Р2= 4. Покажем по индукции, что Ph База: Р0 = 1, = 1, 1  l;P1 = 2 =, 2 .

Рис.9.13. Сбалансированное дерево

Пусть Ph Тогда Ph+l =Ph + Ph-1 + 1 +1=.

Имеем:  Ph = р, следовательно, log2p и h  21og2p.

ЗАМЕЧАНИЕ

Известна более точная оценка высоты сбалансированного -дерева: h < 21og2p.

Сбалансированные деревья уступают выровненным деревьям по скорости поис­ка (менее чем в два раза), однако их преимущество состоит в том, что известны алгоритмы вставки и удаления узлов в сбалансированное дерево, которые сохра­няют сбалансированность и в то же время при перестройке дерева затрагива­ют только конечное число узлов (см., например, [13]). Поэтому в подавляющем большинстве случаев сбалансированное дерево оказывается наилучшим вариантом предста­вления дерева сортировки.