【问题标题】:Is this a full binary tree?这是一棵完整的二叉树吗?
【发布时间】:2009-05-25 15:47:56
【问题描述】:

这是有问题的二叉树。叶子是 a、b、c、d,边标记为 0 或 1。

    .
   / \
  a   .
     / \
    b   .
       / \
      c   d

在我看来,它是一棵完整的二叉树,因为每个节点要么是叶子,要么有两个子节点,但是我有这种感觉,我们被告知它不是完整的二叉树。如果不是,为什么不是?

如果一个节点的子节点是叶子节点,那这算不算子节点?

【问题讨论】:

标签: binary-tree


【解决方案1】:

您将完美二叉树与完整二叉树混淆了。完美二叉树是所有叶子节点都在同一层级的完全二叉树。所以是的,图片是一棵完整的二叉树。

叶子被定义为没有子节点的节点。
因此,满二叉树是每个节点有零个或两个子节点的二叉树。

Wikipedia 非常有助于定义。请务必检查一下。

【讨论】:

  • 我想说它不平衡。但是感谢您的新定义。你每天都会学到一些东西。
  • 平衡是另一回事。这意味着每个节点的左右孩子之间的深度差异最多为一个。
  • 不应该是“所以是的,图片是一个完美二叉树”吗?
  • 没有。图片不符合我说的条件。深度为 N 的完美二叉树将有 (2^N - 1) 个节点。
【解决方案2】:

是的,每个节点都有零个或两个孩子的树,它是二叉树。

【讨论】:

    猜你喜欢
    • 2017-09-30
    • 1970-01-01
    • 2015-12-20
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多