【问题标题】:Definition of Full Binary Tree全二叉树的定义
【发布时间】:2017-08-02 00:09:41
【问题描述】:

我找到了两个资源,它们似乎以两种方式说出了基本定义。

Source 1(也是我的一位教授)说:

所有叶子都在同一级别,所有非叶子节点都有两个子节点。

Source 2(以及 95% 的互联网用户)说:

完全二叉树(有时称为真二叉树或平面二叉树)是一棵树,其中树中的每个节点都有 0 或 2 个子节点。

现在关注Source 2

变成二叉树,但不是根据Source 1,因为叶子不在同一级别。

所以他们通常认为树像,

作为Full Binary Tree

我可能听起来很愚蠢,但我很困惑该相信什么。任何帮助表示赞赏。提前致谢。

【问题讨论】:

标签: algorithm data-structures tree


【解决方案1】:

主要有三个概念:(1)完全二叉树(2)完全二叉树和(3)完全二叉树。正如您所说,完全二叉树是一棵树,其中所有节点的度数都为 2 或 0。但是,完全二叉树是除了可能的所有级别之外的所有级别的树。最后一层是从左到右填充的。最后,完美二叉树是一棵完整的二叉树,其中所有的叶子都处于相同的深度。 For more see the wikipedia page

我对 complete 一词的直觉是,给定固定数量的节点,除了可能的最后一个,因为节点的数量可能并不总是 2^n - 1 的形式。

【讨论】:

  • 这意味着他们混合了完美,对吧?
  • @lU5er 在你的情况下,是的。但是,有些人可能会使用“完成”一词来指代完美,而是使用“几乎完成”来指代我们在此处定义的完成。
  • 很好。谢谢你的帮助。 :)
【解决方案2】:

我认为问题是,定义的目的是什么?通常,以维基百科中出现的方式定义全二叉树的原因是能够引入和证明Full Binary Tree Theorem

具有I个内部节点的完整二叉树中的节点总数N是2 I + 1。

(这个定理在内部节点数、叶节点数和总节点数方面有几个等价的公式。)这个定理的证明并不要求所有的叶节点都相同级别。

你的一位教授所描述的是我称之为完美二叉树的东西,或者,等效地,一棵完全、完全二叉树

【讨论】:

  • 感谢您的帮助。 :)
猜你喜欢
  • 2019-07-02
  • 2015-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-23
  • 1970-01-01
相关资源
最近更新 更多