我在寻找一个证明,即所有AVL树都可以像红黑树一样被着色的证据。谁能提供这个证明?
4
/ \
3 6
/\ /\
1 E 5 8
这是一个完全合法的 AVL 树,它不是 R/B 树,因为 R/B 树不能包含叶子节点,必须以颜色为黑色的空树结束-因此你无法对树进行着色。
要使其成为 R/B 树,您可以将每个叶子 x 转换为节点 E x E,然后遵循以下规则:
R/B 树: 必须是 BST 只能包含颜色为黑色或红色的节点和空树 每个红色节点都有黑色子节点 所有空树都是黑色的 给定一个节点,所有通往空树的路径必须具有相同数量的黑色节点 任何叶子都可以被替换为左右子树为空的节点 最大路径 T ≤ 2 * 最小路径 T
顺便说一下,我刚意识到我的节点和叶子节点被着成了红色-这不是我的本意。 卡罗尔
答案是肯定的,每个AVL树都可以被着色为红黑树,但反过来不成立。
我还没有确切地弄清楚如何做到这一点,也在寻求证明。
我怀疑答案是否定的。
AVL树比红黑树更好地平衡,这意味着它们的平衡方式不同,这也意味着你不能将每个AVL树都涂成有效的红黑树。