我有一个问题要解释为什么这个平衡树不能是一棵红黑树,并且还想只用一个旋转就将其转换成一棵红黑树:
为什么这个二叉搜索树不能是红黑树?
答案 0 :(得分:1)
在一棵红黑树中,通过叶子的每个路径都具有相同数量的黑色节点,并且该路径上至少每个第二节点都将是黑色的,因为红色节点不能有红色子节点。因此,到树上叶子的最长路径(红色节点最多的路径)最多是到叶子的最短路径的两倍。
17-> 11-> 3-> 5-> 7
拥有的节点数是
的两倍17-> 19
所以这不能是一棵红黑的树。
如果您在树根处向右旋转,则该树将更加平衡,并可能被着色为红黑树。
答案 1 :(得分:0)
red-black trees的属性5被违反。
从给定节点到其后代NIL节点的每条路径都包含相同数量的黑色节点。
鉴于根是黑色的,到7末尾的钉子路径相对于19末尾的钉子路径是不平衡的。19有1个黑色节点要遍历; 7大约有3。
由于没有适当平衡,因此不能将其视为红黑树。
答案 2 :(得分:0)