Изменения

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

АВЛ-дерево

18 байт убрано, 11:57, 12 июня 2012
Нет описания правки
В дереве <tex>T_1</tex> удаляем самую правую вершину, назовём её <tex>b</tex>. Высота дерева <tex>T_1</tex> может уменьшиться на единицу. В дереве <tex>T_2</tex> идём от корня всегда в левое поддерево и, когда высота этого поддерева <tex>P</tex> будет равна высоте дерева <tex>T_1</tex>, делаем новое дерево <tex>S</tex>, корнем <tex>S</tex> будет вершина <tex>b</tex>, левым поддеревом будет дерево <tex>T_1</tex>, а правым дерево <tex>P</tex>. Теперь в дереве <tex>T_2</tex> у вершины, в которой мы остановились при спуске, левым поддеревом делаем дерево <tex>S</tex> и запускаем балансировку. Таким образом, дерево <tex>T_2</tex> будет результатом слияния двух АВЛ-деревьев.
{|| [[File:Tavltree1.jpg|340px|thumb| Дерево <tex>T_1</tex> и <tex>T_2</tex> до слияния]]|  [[File:Tavltree2Tavltree1.jpg|300px|thumb| 340px]] Дерево <tex>T_2</tex> после слияния  [[File:Tavltree2.jpg|300px]]|}
== Литература ==
Анонимный участник

Навигация