Предположим, что вы удаляете узел из левого поддерева под узлом X. Допус-
тим, что правое поддерево либо точно сбалансировано, либо его правая половина
имеет глубину на единицу больше, чем левая. Тогда левое вращение, показанное
на рис. 7.12, перебалансирует дерево в узле X.
Рис. 7.12. Вращение влево при удалении узла
Нижний уровень поддерева Т2 на рис. 7.12 закрашен серым цветом, таким об-
разом показывается, что поддерево Тв либо точно сбалансировано (Т2 и Т3 имеют
одинаковую глубину), либо его правая половина длиннее (Т3 длиннее Т2). То есть
закрашенный уровень может существовать в поддереве Т2 или отсутствовать.
Если Т2 и Т3 имеют одинаковую глубину, то поддерево Тх с корнем в узле X не
изменяет глубину при удалении узла. Высота Тх была и остается 2 плюс глубина
поддерева Т2. Поскольку глубина не изменяется, дерево выше этого узла сбалан-
сировано.
Если Т3 длиннее Т2, поддерево Тх возрастает на единицу. В этом случае дерево
выше узла X может быть разбалансировано, поэтому необходимо проверить дере-
во, чтобы все предки узла X удовлетворяли свойству AVL.
Опубликовал Kest
October 26 2009 08:44:18 ·
0 Комментариев ·
5897 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.