1、含义不同
满二叉树:深度为k且有2^k-1个结点的二叉树称为满二叉树。
完全二叉树:设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边。
2、表示不同
满二叉树:对于满二叉树,除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。而完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的。
完全二叉树:对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。
3、节点性质不同
满二叉树:除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。一个层数为k 的满二叉树总结点数为:(2^k)-1。因此满二叉树的结点树一定是奇数个;第i层上的结点数为:2^(i-1);一个层数为k的满二叉树的叶子结点个数(也就是最后一层):2^(k-1)。
完全二叉树:只允许最后一层有空缺结点且空缺在右边,即叶子结点只能在层次最大的两层上出现;对任一结点,如果其右子树的深度为j,则其左子树的深度必为j或j+1,即度为1的点只有1个或0个。
4、深度计算公式不同
满二叉树:满二叉树的深度为k=log2(n+1)。
完全二叉树:在完全二叉树中,具有n个结点的完全二叉树深度为(log2n)+1,其中(log2n)+1是向下取整。