Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 一棵红黑树在所有路径上有相同数量的黑色节点意味着什么?_Algorithm_Red Black Tree - Fatal编程技术网

Algorithm 一棵红黑树在所有路径上有相同数量的黑色节点意味着什么?

Algorithm 一棵红黑树在所有路径上有相同数量的黑色节点意味着什么?,algorithm,red-black-tree,Algorithm,Red Black Tree,我不明白这个条件意味着什么:“对于每个节点,从节点到后代叶子的所有路径都包含相同数量的黑色节点”让我们以一棵树为例: 语句中说“对于每个节点…”,所以让我们选择一个这样的节点作为示例,根节点,节点13 它说的是“后代的叶子”。这些叶是值为6、11、15、22和27的节点。它们是我们选择的节点13的后代,它们是叶子,所以称为“后代叶子” 因此,“从节点到后代叶的所有路径”为以下路径: 十三,→8.→1.→六, 十三,→8.→十一, 十三,→17→十五 十三,→17→25→二十二 十三,→17→

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

让我们以一棵树为例:

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

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

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

  • 十三,→8.→1.→六,
  • 十三,→8.→十一,
  • 十三,→17→十五
  • 十三,→17→25→二十二
  • 十三,→17→25→二十七
现在计算每个路径上的黑色节点:

  • 十三,→8.→1.→6有2个黑色节点(13和1)
  • 十三,→8.→11有2个黑色节点(13和11)
  • 十三,→17→15有2个黑色节点(13和15)
  • 十三,→17→25→22有2个黑色节点(13和25)
  • 十三,→17→25→27有2个黑色节点(13和25)
因此,我们确实看到“从节点到后代叶子的所有路径都包含相同数量的黑色节点”:对于我们的示例树和所选节点,正好是2

可以对另一个节点(例如节点8)重复此练习。然后,“后代叶”仅为节点6和11

现在的结果是:

  • 八,→1.→6有1个黑色节点(1)
  • 八,→11有一个黑色节点(11)

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

对此有什么不清楚的?它是构成黑色节点的部分吗?或者是什么构成了从根到叶的路径?或者如何计算黑色节点?你能澄清你真正想问的是哪个概念吗?