繁体   English   中英

完全二叉树和平衡二叉树的区别

[英]Difference between Complete binary tree and balanced binary tree

平衡二叉树完全二叉树有什么区别?
说每棵完全二叉树都是平衡树是真的吗?
反过来呢?

平衡二叉树是这样一种二叉树,其中每个节点的两个子树的深度相差从不超过 1。

完全二叉树是除最后一层外的所有层都被完全填充,并且最后一层的所有叶子都在左侧的二叉树。

下面是平衡二叉树,但不是完全二叉树。 每个完整的二叉树都是平衡的,但不是相反。

        1
     1     1
   1   1     1
 1 

正如暗示的那样,在一棵完整的树中,水平差总是不超过 1,所以它总是平衡的

由于这已经发展为关于完美、平衡、完整和完整的进一步问题 - 这里也有一个澄清这些问题的答案。 假设一棵二叉树,

  1. 平衡:每个节点的左右子树的高度差不超过1。

  2. Full : 除叶节点外的所有节点都有 2 个子节点

  3. 完成

    • 除了最后一层之前的所有节点都必须有 2 个子节点。
    • 最后一层的所有节点都尽可能靠左。

概括:

  • 完整的树:必须平衡; 可以
  • 全树:可以平衡; 可以完成
  • 平衡树:可以完成; 可以

例子:


  • 完整和平衡- 所有节点都有 0 或 2 个子节点, level 3 - level 2 <= 1 ,(不完整- 最后一级节点尽可能不靠左)

     1 --- LEVEL 0 / \\ 1 1 --- LEVEL 1 /\\ /\\ 1 1 1 1 --- LEVEL 2 - /\\ - - 1 1 --- LEVEL 3 xx - -
  • 完整、平衡和完整- 所有节点都有 0 或 2 个子节点, 3 - 2 <= 1 ,最后一级节点尽可能靠左:

     1 --- LEVEL 0 / \\ 1 1 --- LEVEL 1 /\\ /\\ 1 1 1 1 --- LEVEL 2 /\\ - - - 1 1 --- LEVEL 3 - -
  • 完整- 所有节点都有 0 或 2 个子节点(不平衡- 3 - 1 > 1不完整- 级别 1 有一个具有 0 个子节点的节点):

     1 --- LEVEL 0 / \\ 1 1 --- LEVEL 1 / \\ - 1 1 --- LEVEL 2 / \\ - xx 1 1 --- LEVEL 3 - -
  • 完整和平衡- 最后一级节点尽可能靠左, 3 - 3 <= 1未满- 有一个带有 1 个子节点的 2 级节点):

     1 --- LEVEL 0 / \\ 1 1 --- LEVEL 1 /\\ /\\ 1 1 1 1 --- LEVEL 2 /\\ /\\ /\\ /x 1 1 1 11 1 1 --- LEVEL 3 - - - -- - -
  • 平衡- 3 - 3 <= 1 ,(未满- 有一个带有 1 个子节点的 2 级节点,不完整- 最后一级节点尽可能不靠左)

     1 --- LEVEL 0 / \\ 1 1 --- LEVEL 1 /\\ /\\ 1 1 1 1 --- LEVEL 2 /\\ /\\ /x /\\ 1 11 11 1 1 --- LEVEL 3 - -- -- x - -

  1. Perfect :所有内部节点都有两个孩子,并且所有叶子都具有相同的深度。

以上例子都不是完美的

当高度为 h 的二叉树的所有叶子都在级别 h 并且每个父节点恰好有两个子节点时,就说树是满的

当除最后一层之外的所有层都包含尽可能多的节点,并且最后一层的节点从左到紧填充时,我们说树是完整的 (不完整,但完整)

当二叉树中的每个节点都有两个高度完全相同的子树时,这棵树被称为完全平衡的

完全平衡的树已满

如果节点的子树相差不超过一个,则树是高度平衡的或简单平衡

平衡树:平衡树是二叉树的一种形式,其中每个节点的左子树的高度和右子树的高度之差最多为k ,其中 k 将是平衡因子。 如果这个平衡因子结果为 0,那么这棵树将被称为完全平衡树。

例子 :
8
6 1
3 9 1

这棵树是平衡树,平衡因子为 1,因为每个节点的子树的高度差异为 0 或 1。

完全二叉树:如果除了叶子的每一层都完全填充,则称一棵树是完整的。 并且叶节点上的任何新插入都将从左到右,这意味着左侧的叶将首先完全填充。

示例:8
6 1
3 5 4 1

现在这棵树是完整的二叉树,如果必须进行任何新的插入,那么它应该在左边的叶子下,在这个例子中是 3。 一旦 3 充满了左右孩子,那么 5 将是新插入的下一个叶子。

在完全二叉树中,所有级别都被填充,除了从左侧填充的最低级别。 在此处输入图像描述 在平衡二叉树中,每个节点的左右子树的高度相差 1。 在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM