10

有些文章说根节点的级别是 0,而有些文章说它是 1。

来自https://www.gatevidyalay.com/tree-data-structure-tree-terminology/

在树中,从上到下的每一步都称为树的层次。级别计数从 0 开始,并在每个级别或步骤中递增 1。

这里的根级别是0

http://typeocaml.com/2014/11/26/height-depth-and-level-of-a-tree/

要记住的重要一点是,在谈论级别时,它从 1 开始,根的级别是 1。我们在解决与级别相关的问题时需要注意这一点。

所以它说级别是1

我不明白哪一个是正确的。

4

1 回答 1

7

它们只是不同的定义。更常见的是将节点的级别定义为从根节点开始的路径中的边数,这意味着根节点的级别为0;但是,如果您希望使用基于 1 的索引将其定义为该路径中的位置,那么这样做并没有错,只是不寻常。

自然数的定义也同样存在分歧。大多数文本定义 0 是第一个自然数,有人说 1 是。在实践中,这几乎不会产生任何问题,因为定义是在使用之前说明的,或者您可以从上下文中找出正在使用的定义,或者在没有区别的上下文中使用它。

例如,如果我说子节点的级别比其父节点的级别高一级,那么定义的选择就无关紧要了。或者,如果我说一棵完整的二叉树在级别h有 2^ h个节点,那么您可以确定我是从 0 而不是 1 计数。

于 2019-12-03T11:14:32.123 回答