满二叉树和完全二叉树的关系
1、先明确完全二叉树的概念
完全二叉树分为楼主所说的(图1就是了),还有一种完全二叉树是图2。图2也是完全二叉树!图2也是完全二叉树!图2也是完全二叉树!
概念:
完全二叉树分为两种:
1、最后一层没有满,那么最后一层的节点都得在左边。
2、最后一层满了,那就得全满才行,图2。 完全二叉树就这么个事儿。
2、下面说说:为什么国内大都说满二叉树一定是完全二叉树呢? 注意,我说的是国内!
国内的满二叉树定义: 如果有h层,那么节点一定是(2^h-1)。这句话什么意思呢?上图!
每一层的节点数加起来是一个等比数列求和,在图左边。看明白了吧,每一层都满的情况下,就是国内的满二叉树了。
结论:在国内,满二叉树一定是完全二叉树,反之却不成立。
3、补充下完美二叉树和满二叉树
完美二叉树,是每一层都满的情况,这个大都没有异议。
关键在这个满二叉树,国内定义在2中已经说了,国外的满二叉树却不是这样。
国外满二叉树:说白了判断就一个标准,看有没有度为1的节点,有则不是国外满二叉树,反之则是。简单画两个图吧
PS:国内有些地方也把满二叉树看做完美二叉树,原因就是2中所讲的了。