在排序算法中有一种叫做堆排序的方法,堆一般是用完全二叉树实现,所以记录下完全二叉树和满二叉树
完全二叉树:若设二叉树的深度为h,除第h层外,其他各层(1~h-1)的节点数都达到最大个数,第h层所有节点都连续集中在最左边,这就是完全二叉树
满二叉树:除最后一层无任何子节点外,每一层上的所有结点都有两个子结点。满二叉树一定是完全二叉树,不同的是最后一层的所有节点都有两个字节点。
性质1 :总层数为n,第 i(0<i<n)层上节点个数为2i−1 ,第n层的叶子节点最多为 2n−1
证明:
(1)第一层的节点个数为20
(2)第二层的节点个数为21
(3)第i层的节点个数为2i−1
(4)最后一层叶子节点最多为2n−1(满二叉树)