完全二叉树和满二叉树的区别

二叉树分类很多,其中满二叉树和完全二叉树又有点特殊,这两种二叉树的效率又有点高,以下是它们的区别:

满二叉树:从形象来看的话满二叉树是一个绝对的三角形,最后一层全部是叶子节点,其它各层是非叶子节点,节点数的计算n=2^k - 1,k表示深度,也就是层数,第i层的节点数n= 2^(i- 1),它的节点数是一系列固定的数,如果节点数不是序列中的数的话,就不是满二叉树。

完全二叉树:完全二叉树的节点数是任意的,从形式上讲它是个缺失的的三角形,但所缺失的部分一定是右下角某个连续的部分,最后那一行可能不是完整的,对于k层的完全二叉树,节点数的范围2^ (k - 1) -1 < N< 2^k - 1;

————————————————
版权声明:本文为CSDN博主「too烦恼~」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sbcxylyt/article/details/90215967

原文地址:https://www.cnblogs.com/LQZ888/p/12103313.html

时间: 2024-10-18 10:05:05

完全二叉树和满二叉树的区别的相关文章

二叉树、平衡二叉树、完全二叉树、满二叉树 .

基本概念 结点的层次(Level)从根开始定义,根为第一层,根的孩子为第二层. 二叉树的高度:树中结点的最大层次称为树的深度(Depth)或高度. 二叉树 在计算机科学中,二叉树是每个结点最多有两个子树的有序树.通常子树的根被称作"左子树"(left subtree)和"右子树"(right subtree).二叉树常被用作二叉查找树和二叉堆.二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒.二叉树的第i层至多有2的(i

如何判定一颗树是完全二叉树和满二叉树

满二叉树:一颗深度为k且有2^k-1个节点的二叉树称为满二叉树: 完全二叉树:对满二叉树的结点进行连续编号,约定编号从根结点起,自上而下,自左至右.深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树编号从1至n的结点对应时,称为完全二叉树.如图所示: 1. 判定完全二叉树.判定一棵树是不是完全二叉树的思路是广度遍历该二叉树,当出现NULL值时停止遍历,如果此时还有没有遍历到的结点,那么就说明该树非完全二叉树,因为有空洞.C++代码如下: #include "stdafx.

完全二叉树 满二叉树

概念 结点的层次(Level)从根开始定义,根为第一层,根的孩子为第二层. 二叉树的高度:树中结点的最大层次称为树的深度(Depth)或高度. 数据结构中,树的度是什么?  它是树内各结点的度的最大值. 为何节点的度? 结点拥有的子树数称为结点的度. 二叉树 在计算机科学中,二叉树是每个结点最多有两个子树的有序树.通常子树的根被称作"左子树"(left subtree)和"右子树"(right subtree).二叉树常被用作二叉查找树和二叉堆.二叉树的每个结点至多

满二叉树 和 完全二叉树

完全二叉树 定义:深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称为完全二叉树. 特点:叶子结点只可能在层次最大的两层上出现:对任一结点,若其右分支下子孙的最大层次为l,则其左分支下子孙的最大层次必为l 或l+1 满二叉树: 定义:一棵深度为k,且有2的(k)次方-1个节点的二叉树 特点:每一层上的结点数都是最大结点数 区别: 满二叉树 和 完全二叉树,布布扣,bubuko.com

完全二叉树、理想二叉树满二叉树

完全二叉树(Complete Binary Tree): 设二叉树的深度为h,除第 h 层外,其它各层 (1-h-1) 的结点数都达到最大个数,第h层所有的结点都连续集中在最左边,这就是完全二叉树. 理想二叉树(Perfect Binary Tree): 除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的树称为理想二叉树.高度为h(从0开始算起)且包含2^(h+1)-1个节点的 二叉树是理想二叉树. 满二叉树(Full Binary Tree): 在国内实际上指的是上面提到的理想二叉树

与满二叉树完全二叉树

去写很多,每个已对二进制树的主题,其中大部分都在完全二叉树,在哥斯达黎加的心脏完全然而二叉树一直很模糊的形式,原因是,我完全糊涂了二进制和满二叉树.实际上满二叉树是二叉树的一种特殊情况完全,由于满二叉树满.虽然完全不能代表全.所以,你应该想象塑造出它,外每一个节点都有两个孩子.而全然的含义则是最后一层没有满,并没有满. 以下贴定义: 满二叉树(Full Binary Tree): 除最后一层无不论什么子节点外.每一层上的全部结点都有两个子结点(最后一层上的无子结点的结点为叶子结点).也能够这样理

二叉树进阶之满二叉树和完全二叉树

转载请注明原文地址: 一:满二叉树 除了叶子结点无任何子节点外,每一层的结点都有两个子节点.也就是说:一棵满二叉树是一个完整的三角形 △  结构. 满二叉树的性质:若满二叉树的层数为L,结点数为N,则: N=2^L-1.(结点数为 2的层数次方 减一) 二:完全二叉树 完全二叉树:1:一棵树,除了叶子节点那一层,上面的各层一定是满的.当最后一层也是满的,则树是完全二叉树也是满二叉树. 2:叶子结点那一层,结点严格按照"从左往右"插入. 判断完全二叉树==

二叉树、满二叉树、完全二叉树

二叉树:每个结点至多有两个子树 满二叉树:每一层的结点个数都是最大结点数 完全二叉树:叶子节点在最后两层:对于任一结点,左子树的深度比右子树深度大1或者相等 性质: 二叉树:第i层,至多有2^(i-1)个结点 二叉树:深度为k的二叉树,至多有(2^k)-1个结点 满二叉树:深度为k的满二叉树的结点个数为(2^k)-1 二叉树:任何一个二叉树,度为0的结点的个数n0,度为1的结点的个数n1,度为2的结点的个数的关系: n0 = n2+1,总的结点个数n 原因:n0+n1+n2 = n  除了根节点

树、二叉树、满二叉树、完全二叉树

自由树 自由树是一个连通的,无回路的无向图. 令G=(V,E)为一个无向图.下面的表述是等价的. 1)        G是自由树. 2)        G中任意两个顶点由唯一一条简单路径得到. 3)        G是连通的,但从E中去掉任何边后得到的图都是非连通的. 4)        G是无回路的,且|E|=|V|-1. 5)        G是连通的,且|E|=|V|-1. 6)        G是无回路的,但添加任何边到E中得到的图包含回路. 二叉树 在计算机科学中,二叉树是每个节点最多