二叉树的性质:
性质1:在二叉树的第i层上至多有2^(i-1)个节点(i>=1)
性质2:深度为k的二叉树至多有(2^k)-1个节点(k>=1),至少有k个节点
性质3:对于任何一颗二叉树T,如果其叶子数为n0,度为2的节点为n2,那么n0=n2+1
满二叉树:
定义:一颗深度为k且有(2^k)-1个节点的二叉树称为满二叉树
特点:
1.每一层上的节点数都是最大节点数
2.叶子节点全部在最底层
编号规则:
从根节点开始,从上到下,从左到右
完全二叉树:
深度为k的具有n个节点的二叉树,其每一个节点都与深度为k的满二叉树中编号为1到n的节点一一对应。例:
如下为非完全二叉树:
也可以这样理解:满二叉树从最后一个节点开始,连续去掉任意个节点,即是一颗完全二叉树
特点:
1.叶子只能分布在层次最大的两层上
2.对任一节点,如果其右子树的最大层次为i,则其左子树的最大层次必为i或i+1
完全二叉树性质:
性质1:具有n个节点的完全二叉树深度为[log₂n]+1.([x]称为x的底,表示不大于x的最大整数)
性质2:有n个节点的完全二叉树,对任一节点i,有:
(1)如果i=1,则节点i是二叉树的根,无双亲,如果i>1,则其双亲结点为[i/2]
(2)如果2i>n,则节点i为叶子节点,无左孩子,否则,其左孩子是节点2i
(3)如果2i+1>n,则节点i无右孩子,否则,其右孩子是节点2i+1