Как сбалансировать дерево с одной веткой?

Если бы у нас были, скажем, узлы со значениями 10, 9 ... 1, расположенные в порядке убывания на одной левой ветви, как мы могли бы выполнить повороты в дереве, чтобы сделать его сбалансированным деревом AVL? Я думал о том, чтобы повторить одиночные правые повороты, но может ли кто-нибудь показать последовательность шагов здесь?

1 ответ

Делайте повороты в корне, пока 5 не окажется наверху. Дерево теперь перевернуто V. Теперь выполните аналогичную операцию для каждого из двух поддеревьев и так далее.

Другие вопросы по тегам