具有145个节点的红黑树中可能的最小和最大红色节点数是多少?

时间:2016-10-02 20:19:13

标签: algorithm red-black-tree

请告诉我有没有计算红黑树中最小/最大红色节点的公式?

1 个答案:

答案 0 :(得分:2)

红黑树是二元搜索树,另外受4条规则约束

  1. 每个节点为红色或黑色
  2. 根是黑色的
  3. 每个红色节点必须有0或2个黑人孩子
  4. 每个root到null路径必须具有相同数量的黑色节点
  5. 红色节点的最小数量为0.没有要求强制红黑树有任何红色节点。

    如果我们在每条路径上交错红色和黑色节点并使尽可能多的真实红叶数量,我们可以获得最大数量的红色节点。在这种情况下,每个红色节点有两个子黑节点,根节点应该是黑色。 因此=> n_black = 2 * n_red + 1 我们也知道n_black + n_red = n(n是我们的总节点数)

    以下是一些链接,如果您需要进一步的帮助:http://doctrina.org/maximum-height-of-red-black-tree.htmlhttps://www.cs.purdue.edu/homes/ayg/CS251/slides/chap13b.pdf