树和二叉树,完美/满二叉树和完全二叉树之间的区别对比
首先说树和二叉树:
一、性质不同
树:树是一种数据结构可以有多个子树。
二叉树:二叉树是每个结点最多有两个子树的一种树结构。
二、结点不同
树:树的每个结点有零个或多个子结点;没有父结点的结点称为根结点;每一个非根结点有且只有一个父结点。
二叉树:每个结点最多有两个子树。
三、种类不同
树:树的种类包括无序树、有序树、二叉树和霍夫曼树等。
二叉树:二叉树的种类包括完全二叉树、满二叉树和平衡二叉树。
完美/满二叉树和完全二叉树:
满二叉树和完全二叉树的区别:
完全二叉zhi树是由满二叉树而引出来的。对于深度为K的,有n个结点的dao二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。
对于满二叉树,除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。而完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。
1.满二叉树
定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。
2.完全二叉树
定义:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。
满二叉树就是每个节点都有两个子节点,每层都是满满的,而完美二叉树就是不需要每层都是慢慢的,只要满足每个节点都有两个子节点即可。完全二叉树就是除了最底层以外,其它层都是节点下有两个子节点,并且最下层的子节点集中在左侧。