我们可以绘制一个包含8个黑色节点和12个红色节点的RB树吗?

时间:2012-03-18 19:28:20

标签: graph-theory red-black-tree

我在stackoverflow上看到了一个类似的问题here,但是没有回答(显然)。

我可以尝试构建这样的树(8个黑色节点和12个红色节点),而不会排空5个RB树中的任何一个(到目前为止,我无法做到这一点);

  1. 节点为红色或黑色
  2. 根是黑色的
  3. 所有叶子都是黑色的
  4. 每个红色节点的两个孩子都是黑色的
  5. 从给定节点到其任何后代叶子的每条简单路径都包含相同数量的黑色点缀。
  6. 但我真的对一个更优雅的答案感兴趣(除了尝试并看看它是否有效)。

    编辑:在叶子被计为黑色的情况下,显然这种树是不可能构建的。但是如果不将叶子计为黑色节点(8个非叶子节点)呢?

1 个答案:

答案 0 :(得分:0)

从规则3和4可以看出,红色节点不能超过黑色节点,因为向树中添加红色节点必然会添加黑色节点。如果您将rb树的叶子计为节点(您的定义确实如此)。