Я понимаю, что AVL и Red Black являются реализациями балансировки деревьев. Но мне любопытно, как сложно было бы создать практически максимально возможное самобалансирующееся дерево. До такой степени, что высота может быть только с моего единственного узла не более чем на одну ветвь. Вероятно, это связано с большим количеством поворотов. Это было сделано/реализовано?Рядом идеальное самобалансированное двоичное дерево поиска?
0
A
ответ
1
Я считаю, что деревья AVL действительно удовлетворяют вашему состоянию. В дереве AVL высоты двух дочерних поддеревьев любого узла отличаются не более чем одним; если в любое время они отличаются друг от друга более чем одним, выполняется перебалансировка, чтобы восстановить это свойство.
Итак, мой вопрос, сможет дерево достичь высоты <1.44log (п). Кое-что больше похоже на высоту <1.1log (n). Означает ли это, что единственным вариантом является переход от BST и к древу 2-3 или что-то еще? – Rabbitshoe
Не знаете, что вы просите. Я думаю о простых дегенеративных случаях, так как дерево из 2 предметов будет иметь высоту = 2 независимо от того, какой вы используете балансировщик дерева. – StilesCrisis