首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >二叉树属性-平衡

二叉树属性-平衡
EN

Stack Overflow用户
提问于 2013-02-14 19:14:18
回答 1查看 2.9K关注 0票数 1

我正在尝试理解二叉树的属性。但我不确定有一件事:

院长。对二叉树的描述是:

  1. 如果每个节点认为左子树中的内部节点数和右侧子树中的内部节点数最多相差1,则二叉树是平衡的。
  2. 二叉树是平衡的,如果对任何两个离开的差异。深度最多的是1。

我在问我这两个主管。都是等价物,我是说Def。1统计数据。2,反之亦然?对我来说,yes...but,谁能用例子确切地解释这个属性的(非)等价性?

谢谢你,帕特里克

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-14 19:19:46

不,这两者不是等同的。

代码语言:javascript
运行
复制
    3
   / \
  2   7
 /   / \
1   5   8
   / \   \
  4   6   9

是满足属性2的树,而不是属性1。

然而,属性1意味着属性2。

命题:二叉树中的,该二叉树根据属性1与n内部节点保持平衡,所有叶子都在

  • k if n = 2^k - 1
  • kk+1,如果是2^k <= n < 2^(k+1)-1,有叶子在深度k+1

证明:(通过对内部节点数目的归纳)

对于n = 1 = 2^1-1,在深度1处有一两片叶子(根位于深度0)。

对于n = 2,一个子树有一个内部节点,该子树中的所有叶子都在深度2,另一个子树是空的,或者是深度为1的叶子。

n >= 2并考虑一棵根据属性1与n+1内部节点保持平衡的二叉树。

如果n是偶数,n = 2*m,则这两个子树都必须有m内节点,而深度属性则由归纳假设决定。

如果n = 2*m+1是奇数,一个子树有m内部节点,另一个m+1

  1. 如果是2^k <= m < 2^(k+1)-1,则m内部节点的子树在k+1深度处有叶子,根据归纳假设可能在深度k处有叶子。具有m+1内部节点的树在深度k+1中也有叶子,可能在深度k处有(如果m+1 < 2^(k+1)-1)。
  2. 如果是m = 2^k - 1,则具有m内部节点的子树仅在深度k处有叶子,而带有m+1内部节点的子树在深度k+1处有叶子,可能在深度k处有叶子。
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14882306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档