【问题标题】:how many nodes can a binary tree have at level n? Use induction to prove the answer一棵二叉树在第 n 层可以有多少个节点?用归纳法证明答案
【发布时间】:2010-12-29 10:53:49
【问题描述】:

这是一个家庭作业,我没有太多时间花在这上面,但我知道一些答案,需要一点帮助

我的想法是这样假设我们有:

1 个节点 ----> 1 级

2,3 个节点 ----> 2 级

3,4,5,6,7 节点 ----> 3 级

4,5,6,.....,15 个节点 ----> 4 级

5,6,7,8,9,.....,31 个节点 ----> 5 级

从 [ min=X node(s) TO max = 2^X - 1 node(s) ] 的节点间隔,其中 X 表示级别

从现在开始我很困惑如何完成

【问题讨论】:

  • 这个问题似乎跑题了,因为它是关于图论和数学的。

标签: data-structures tree binary-tree treenode


【解决方案1】:

我记得要使用归纳法,您必须证明第 N 种情况和第 N + 1 种情况。我们看到,对于任何 N,N + 1 级的数量正好是其两倍。因此显示为 2^(N + 1) / 2^N = 2

节点总数可以通过从n = 0到N - 1 of 2^n的总和来找到

您可能想要一个更确凿和详细的答案,但这就是要点。

【讨论】:

    【解决方案2】:

    听起来你说得对。 二叉树可以拥有的最小节点数是n,最大是2^n-1

    【讨论】:

    • 你所展示的是归纳证明,你应该把它形式化一点,就像在声明中一样。
    • 如果我想说在 N+1 我有 [N+1 to (2^(N+1)-1)] 我对 2 个值 [N+1 to (2^) 感到困惑(N+1)-1)] 以及如何证明等式
    【解决方案3】:

    二叉树中第 n 层的节点将有 n 个祖先。 归纳证明: 显示 P(0):级别 0 的节点没有祖先。 (这是真的,因为它是根。) 显示 P(1):级别 1 的节点有一个祖先。 (这是真的;祖先是根,它的父亲,它处于 0 级。) 假设 P(K):第 K 层的节点有 K 个祖先。它的父亲处于K-1级。 证明 P(K+1):第 K+1 层的节点将比第 K 层的节点多一个祖先。第 K+1 个元素将在第 (K+1)-1 层或第 K 层有一个父节点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-17
      • 2015-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-05
      • 2014-09-24
      相关资源
      最近更新 更多