AVL Деревья, похоже, имеют четыре вида преобразований: левые, левые, правые и правые. Однако, похоже, могут быть и другие обстоятельства. Я представляю это как левой Balanced:Дополнительные случаи в деревьях AVL
Ни влево, ни вправо вращения может сбалансировать это дерево. Какой алгоритм можно использовать для балансировки?
AV & L не выполнил процедуру балансировки _any_ упорядоченного двоичного дерева в дерево AVL с «не более чем одним двойным вращением». Они представили, как перебалансировать двоичное дерево после вставки одного узла, но одно из трех состояний/два дополнительных бита на узел. Это было расширено для других операций. Ни одно из трех «левых» деревьев, показанных выше, не может быть результатом добавления единственного узла к действительному дереву AVL, каждый из которых может привести к удалению одного узла, заслуживающего метку больше 50. Тем не менее, что (с точки зрения высоты) _is_ разные в узлах с метками 40 и 45 между «последними двумя левыми деревьями»? – greybeard