【问题标题】:Red-Black Tree Proof红黑树证明
【发布时间】:2016-06-28 06:53:06
【问题描述】:

我的最终审核表上有一个问题,上面写着。证明对于 n>1,红黑树必须至少有 1 个红色节点。这对我来说很有意义,因为如果 n 是偶数,则来自根的 2 个子树具有不同数量的节点,因此必须至少有一个红色来保持所有路径的黑色高度相同。然后还有另一个问题,说黑色高度为 k 的树的最小内部节点是 2^k -1。对此的证明是,如果每个节点都是黑色的,那么完整的二叉树(假设计算了虚拟外部叶子)将具有高度 k,并将其代入公式 2^h -1 即可得到答案。

我的问题是第一个证明如何与第二个一致。具有多个节点的树如何必须至少有 1 个红色节点,而最小的内部节点树只有黑色节点。有大神能指点一下吗?

【问题讨论】:

  • 好的,一个有更多的现实意义,另一个只是理论上的。谢谢。

标签: algorithm binary-tree red-black-tree


【解决方案1】:

第一个证明基于它的插入算法,这就是为什么总是有一个红色节点的原因。但是在第二个证明中,您实际上可以手动构建一个仅包含黑色的红黑树。使用常用的插入算法,插入时总是会出现红色。

我插入这个作为答案,以防有人遇到同样的问题或知道更准确的词用作回答。

阅读材料:http://www.geeksforgeeks.org/red-black-tree-set-2-insert/

【讨论】:

    猜你喜欢
    • 2018-10-10
    • 2016-07-15
    • 2010-09-06
    • 1970-01-01
    • 2011-02-04
    • 2011-03-11
    • 2011-08-23
    • 2012-06-03
    • 2011-08-03
    相关资源
    最近更新 更多