【问题标题】:What does it mean for a red black tree to have same number of black nodes on all paths?红黑树在所有路径上具有相同数量的黑色节点意味着什么?
【发布时间】:2021-05-10 03:57:03
【问题描述】:

我不明白这个条件是什么意思:“对于每个节点,从节点到后代叶子的所有路径都包含相同数量的黑色节点”

【问题讨论】:

  • 究竟有什么不清楚的地方?它是构成黑色节点的东西吗?或者什么构成了从根到叶的路径?或者如何计算黑色节点?你能澄清一下你真正问的是哪个概念吗?

标签: algorithm red-black-tree


【解决方案1】:

我们以树为例:

语句说“对于每个节点...”,所以让我们选择一个这样的节点作为示例,根节点,节点 13。

它谈到了“后裔叶子”。这些叶子是值为 6、11、15、22 和 27 的节点。它们是我们选择的节点 13 的后代,它们是叶子,所以 “后代叶子”

“从节点到后代叶子的所有路径”因此是以下路径:

  • 13→8→1→6
  • 13→8→11
  • 13→17→15
  • 13→17→25→22
  • 13→17→25→27

现在计算每个路径上的黑色节点:

  • 13→8→1→6 有 2 个黑色节点(13 和 1)
  • 13→8→11 有 2 个黑色节点(13 和 11)
  • 13→17→15 有 2 个黑色节点(13 和 15)
  • 13→17→25→22 有 2 个黑色节点(13 和 25)
  • 13→17→25→27 有 2 个黑色节点(13 和 25)

确实,我们看到“从节点到后代叶子的所有路径都包含相同数量的黑色节点”:对于我们的示例树和选定节点,正好是 2。

您可以对另一个节点重复此练习,例如节点 8。那么 “后代叶子” 只是节点 6 和 11。

现在结果是:

  • 8→1→6 有 1 个黑色节点 (1)
  • 8→11 有 1 个黑色节点 (11)

再一次,这句话是真的。实际上,当该语句对根为真时,它对所有节点都为真。

【讨论】:

    猜你喜欢
    • 2011-09-18
    • 2021-08-28
    • 2020-05-27
    • 2018-05-15
    • 2011-08-22
    • 2014-01-13
    • 2013-03-13
    • 2021-07-04
    • 1970-01-01
    相关资源
    最近更新 更多