0

我在 stackoverflow 上看到了一个类似的问题,但没有(清楚地)回答。

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

  1. 节点是红色或黑色
  2. 根是黑色的
  3. 所有的叶子都是黑色的
  4. 每个红色节点的两个孩子都是黑色的
  5. 从给定节点到其任何后代叶子的每条简单路径都包含相同数量的黑色节点。

但我真的对更优雅的答案很感兴趣(除了尝试看看它是否有效)。

编辑:在叶子被算作黑色的情况下,很明显这样的树是不可能构建的。但是如果叶子不被算作黑色节点(8 个非叶子节点)呢?

4

1 回答 1

0

从规则 3 和 4 可以看出,红色节点不能多于黑色节点,因为将红色节点添加到树中必然会添加黑色节点。这是如果您将 rb 树的叶子视为节点(您的定义)。

于 2012-03-18T20:44:08.470 回答