完全二叉树和满二叉树相比,唯一的区别就是完全二叉树的最下面一层的叶子节点可能没有填满。
完全二叉树可能是满二叉树,满二叉树可能是完全二叉树。完全二叉树是满二叉树的子集。
完全二叉树的所有节点与同样深度的满二叉树,他们按层序编号相同的节点,是一一对应的。一层层的来编号,完全二叉树的最后可能缺少那么几个。
完全二叉树的特点:
叶子节点只能出现在最下两层。
最下层的叶子一定集中在左部连续位置。
倒数第二层,如果有叶子节点,一定是在最右边的连续位置。
如果节点度为一,那么该节点只有左孩子,既不存在只有右子树的情况。这种只有左孩子的节点只可能出现在倒数第二层。
同样节点数的二叉树,完全二叉树的深度最小(都是按照顺序来的,一层层的,中间没有空的, 每一层都满了,深度当然小。满二叉树也是完全二叉树。)