Изменения

Перейти к: навигация, поиск

Красно-черное дерево

81 байт убрано, 21:35, 23 марта 2012
Нет описания правки
||proof=
'''1.Лемма''' Совмещаем все красные узлы . В красно-черном дереве с родительскими чёрными (они существуют по свойству черной высотой <tex>hb</tex> количество внутренних вершин не менее <tex>2) начиная с корня^{hb+1}-1</tex>.
Если рассмотреть лист (фиктивную вершину), то для нее лемма верна. Рассмотрим внутреннюю вершину <tex>x</tex>. Пусть <tex>hb(x)=h'</tex>. Тогда если ее потомок <tex>p</tex> - черный, то высота <tex>hb(p)=h'-1</tex>, а если – красный, то <tex>hb(p)=h'</tex>. Таким образом, по предположению индукции, в поддеревьях содержится не менее <tex>2^{h'}-1</tex> вершин, а во всём дереве, соответственно, не менее <tex>2.^{h'}-1 + 2^{h'}-1 + 1=2^{h' В результате получим дерево+1}-1</tex>.Если обычная высота дерева равна <tex>h</tex>, каждый узел котрого имеет то черная высота дерева будет не меньше <tex>h/2-1</tex> и, по лемме, 3 или 4 потомкаколичество внутренних вершин в дереве
'''3.''' В следствии свойства 4 красно-чёрного дерева, все листья <tex>N \ge 2^{h/2}-3-4 дерева будут иметь одинаковую глубину – black-height корня исходного дерева1</tex>
'''4.''' Пусть дерево из п.2 имеет высоту <tex>h'</tex>. Тогда <tex>h' \geqslant h/2</tex>Прологарифмировав неравенство, т.к. не более половины узлов на каждом пути – красныеимеем:
<tex>\log(N+1) \geqslant h/2</tex>
[[Файл:<tex>2-3-4_tree.JPG‎|350px|]]\log(N+1) \geqslant h</tex>
<tex>h \leqslant 2\log(N+1)</tex>
'''5.''' Количество листьев не изменяется и равно <tex>n + 1</tex> для обоих деревьев, т.к. в красно-чёрном дереве все внутренние узлы имеют ровно два листа
 
'''6.''' В 2-3-4 дереве высоты <tex>h'</tex> количество листьев <tex>n + 1</tex> ограничено:
 
<tex>2^{h'} \leqslant n + 1 \leqslant 4^{h'}</tex>
 
'''7.''' Тогда:
 
<tex>n + 1 \geqslant 2^{h'}</tex>
 
<tex>\log(n + 1) \geqslant h' \geqslant h/2</tex>
 
<tex>h \leqslant 2\log(n + 1)</tex>
}}
98
правок

Навигация