【问题标题】:Height of a tree with only one node只有一个节点的树的高度
【发布时间】:2010-10-31 22:19:00
【问题描述】:

根据维基百科,

树的高度是从根到树的路径的长度 树中最深的节点。一棵只有一个节点的(有根的)树( root) 的高度为零(或一)。

我不明白 - 是零还是一(或两者兼而有之)?

【问题讨论】:

标签: tree height binary-tree discrete-mathematics


【解决方案1】:

这只是您对二叉树高度的递归描述的假设。您可以考虑仅由一个高度为 0 或高度为 1 的节点组成的树。

如果你真的想以某种方式考虑它,你可以这样想

  • 如果将高度视为边数,则为 0(因此单个节点没有任何边,因此为 0)
  • 如果将高度视为节点数,则为 1(因此单个节点计为 1)

这只是为了描述最小的树有多少高度,那么在任何情况下,每当您添加一个降序节点时,您也会添加一个相关的边,因此它会相应地增加。

在维基百科提供的示例中:

这棵树的高度可以是 4(节点)或 3(边)。这取决于您是按边数还是按节点数。

【讨论】:

  • 哦,好的,我明白了。所以没有单独的术语来分别指代节点的高度和边缘的高度?
  • 不,没有.. 树的高度以从根到最深节点的路径长度来衡量。路径由边和节点组成,特别是如果路径有 n 个边,那么它有 n+1 个节点(这应该很简单),这就是为什么你可以必须有不同的基本情况:仅由一个节点组成的路径有 0 个边但有 1 个节点。
【解决方案2】:

使用节点计数而不是边计数的一个优点是它将空情况(零节点和节点级别)与最小情况(一个节点,并且节点级别为一)区分开来。在某些情况下,空树没有意义,但在其他情况下,空尝试将是完全合法的。

【讨论】:

    【解决方案3】:

    取决于约定。这里没有“正确”的答案。有人告诉我它是 1。但 0 也是正确的。

    【讨论】:

      【解决方案4】:

      我认为,一个根节点的高度应该是 0。 这很有实际意义,因为 2^height 还为您提供了该级别的节点数。

      【讨论】:

      • 不过,人们可能会提出相反的观点。如果高度是包含定义的,则 (2^height)-1 是给定高度下树的最大大小。
      【解决方案5】:

      假设您在节点类中以递归方式计算高度,我会这样做以返回高度而不包括根的高度(java 代码):

      int height(){
          int leftHeight = 0;
          int rightHeight = 0;
          if(left != null)
              leftHeight =+ left.height() + 1;
          if(right != null)
              rightHeight =+ right.height() + 1;
          return Math.max(leftHeight, rightHeight);
      }
      

      如果你想包括根的高度,那么我会这样做:

      int height(){
          int leftHeight = 0;
          int rightHeight = 0;
          if(left != null)
              leftHeight =+ left.height();
          if(right != null)
              rightHeight =+ right.height();
          return Math.max(leftHeight, rightHeight) + 1;
      }
      

      【讨论】:

        【解决方案6】:

        取决于您想如何解释树的高度。在某些应用程序中,具有一个节点的树被解释为高度为 1,而其他人则认为它的高度为零。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-06-22
          • 1970-01-01
          • 1970-01-01
          • 2012-07-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多