2015-05-13 10 views
0

Я понимаю, что AVL и Red Black являются реализациями балансировки деревьев. Но мне любопытно, как сложно было бы создать практически максимально возможное самобалансирующееся дерево. До такой степени, что высота может быть только с моего единственного узла не более чем на одну ветвь. Вероятно, это связано с большим количеством поворотов. Это было сделано/реализовано?Рядом идеальное самобалансированное двоичное дерево поиска?

ответ

1

Я считаю, что деревья AVL действительно удовлетворяют вашему состоянию. В дереве AVL высоты двух дочерних поддеревьев любого узла отличаются не более чем одним; если в любое время они отличаются друг от друга более чем одним, выполняется перебалансировка, чтобы восстановить это свойство.

http://en.m.wikipedia.org/wiki/AVL_tree

+0

Итак, мой вопрос, сможет дерево достичь высоты <1.44log (п). Кое-что больше похоже на высоту <1.1log (n). Означает ли это, что единственным вариантом является переход от BST и к древу 2-3 или что-то еще? – Rabbitshoe

+0

Не знаете, что вы просите. Я думаю о простых дегенеративных случаях, так как дерево из 2 предметов будет иметь высоту = 2 независимо от того, какой вы используете балансировщик дерева. – StilesCrisis

 Смежные вопросы

  • Нет связанных вопросов^_^