【问题标题】:What is the maximum and minimum number of leaf nodes of a binary tree with n nodes?n 个节点的二叉树的最大叶节点数和最小叶节点数是多少?
【发布时间】:2019-09-15 00:40:38
【问题描述】:

据我了解,n节点二叉树的最小叶节点数为1,最大叶节点数为⌈n/2⌉。我的假设是否正确?

【问题讨论】:

  • 你的意思是一棵平衡树,因为你可以有一个所有分支都在左或右的二叉树,那么你有 N 个节点和一个叶子,如果它们是平衡的,那么应该有一个比率,我不知道
  • 没有。我只是在问一般的二叉树,而不是平衡的。
  • 你可以得到一棵没有右分支的二叉树,继续向左添加所有分支,你将得到一棵任意深度且只有一个叶子的二叉树。
  • 您可以有一个二叉搜索树,例如,您添加 N,然后是 N-1,然后是 N-2,...,N-M。您将拥有一棵没有右分支、M 个节点和一个叶子的二叉树

标签: binary-tree


【解决方案1】:
  • 二叉树的叶节点数 >= 1 基本正确。

  • 叶节点数

证明:

  • 对于 n=1,叶节点计数 = 1
  • 对于每一个<1 left branch & 1 right branch under the same leaf>,您都会阻止一个叶子,并创建 2 个新叶子(每 2 个节点 +1 个叶子)
  • 对于您在叶子下创建的每个 <left branch><right branch>,您会停止叶子并创建 1 个新叶子(每个节点 +0 个叶子)

因此,最大 叶节点数 1 + ((n-1)//2) = ⌈n/2⌉

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    • 2016-04-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 2016-08-27
    相关资源
    最近更新 更多