我正在寻找一个证据,证明所有的AVL树都可以像红黑树一样着色? 谁能举证?
答案 0 :(得分:1)
根据定义,R / B树可以比AVL-s略微平衡,因为| maxPath - minPath | AVL必须< = 1,R / B的maxPath< = 2 * minPath必须不是每个R / B都是AVL,但另一方面AVL-s不需要空子树/ p>
4
/ \
3 6
/\ /\
1 E 5 8
是一个完全合法的AVL,它不是R / B,因为R / B不能包含叶子,必须用空白的树木终止,这些树木的颜色总是黑色 - 这样你就不能给上面的树上色了。 为了使其成为R / B,您可以将每个叶子x转换为节点E x E 然后遵循以下规则: R / B树: 必须是BST 必须只包含颜色为黑色或红色的节点和空树 每个Red节点都有黑孩子 所有空树都是黑色的 给定节点,空树的所有路径必须具有相同数量的黑节点 任何Leaf都可以替换为Left&右子树是空的 最大路径T≤2*最小路径T
顺便说一下,它意识到它为我的节点着色并留下红色 - 这不是故意的。 卡罗尔
答案 1 :(得分:-1)
好的,我给你一个提示
请查看:AVL Tree和Red black Tree,如果您了解这一点,则证明应该是微不足道的。
答案 2 :(得分:-1)
我怀疑答案是肯定的。
AVL树比RB树更平衡,这意味着它们的平衡方式不同,这意味着你不能将每个AVL树都着色为有效的RB树。
答案 3 :(得分:-1)
答案是肯定的,每个AVL树都可以涂成红黑色,反之亦然。
我还没弄清楚如何做到这一点,我也在寻求证据。