【问题标题】:What is the difference between a full binary tree and a complete binary tree?完全二叉树和完全二叉树有什么区别?
【发布时间】:2013-07-16 16:01:24
【问题描述】:

根据我的理解,一棵完整的二叉树在树的最后一层可能有不完整的节点。什么是完全二叉树?有什么区别?

【问题讨论】:

  • 一个完整的二叉树是每个节点都有两个孩子,除了我们有的叶子节点。一个完整的二叉树,直到倒数第二个元素都有两个孩子。最后一个元素可能有一个孩子,但它应该在左侧。有关更多内容,您可以在 google 和其他网站上查看更多图片。

标签: data-structures tree binary-tree


【解决方案1】:

完整的二叉树(有时是正确的二叉树或二叉树)是一棵树,其中除叶子之外的每个节点都有两个子节点。

完全二叉树是一种二叉树,其中除了可能的最后一层外,每一层都被完全填满,并且所有节点都尽可能靠左。

以下是这些描述的来源和供参考的图片: http://web.cecs.pdx.edu/~sheard/course/Cs163/Doc/FullvsComplete.html

【讨论】:

  • 请注意,实际的“来源”是维基百科,如页面左上角所示。
【解决方案2】:

一棵完全的二叉树是任何没有最平衡的树。的节点。如果您恰好有 (2^n) -1 个节点,那么完整的二叉树就是最平衡的树。 此外,按照惯例,完全二叉树中的空白空间保留在树的右侧。 编辑:最平衡的,我的意思是给定没有深度的那个。节点数。

【讨论】:

    【解决方案3】:

    完美二叉树: 1. 所有内部节点必须有两个孩子。 2.所有叶子节点都在同一层级。

    Example :
    
             A1
         B1       B2
      C1    C2  C3  C4
    

    完全二叉树: 除了可能的最后一个级别,所有级别都已完全填满

    例子:

             A1
         B1       B2
      C1    C2  C3  C4
    D1  D2 D3 
    

    完整的二叉树: 简单地说,每个节点都有 0 或 2 个子节点。

    例子:

             A1
         B1       B2
      C1    C2  C3  C4
    D1  D2 
    

    如果答案同意,请更新

    【讨论】:

    • 关于完全二叉树;当您说“除了可能是最后一层之外完全填充”时,您的意思是所有节点(可能是叶子的父节点)都有两个孩子吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-23
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 2015-08-17
    相关资源
    最近更新 更多