4.3二叉树
基础概念:
二叉树n个结点的有限集合:
1.或者为空二叉树,即n=0。
2.或者由一个根结点和两个互不相交的被称为根的左子树和右子树组成。左子树和右子树又分别是一颗二叉树。
特性:
1.每个结点最多有两颗子树。
2.左右子树有顺序。
五种基本型态:
1.空树。
2.只有一个根结点。
3.根结点只有左子树。
4.根结点只有右子树。
5.根结点既有左子树又有右子树。
特殊二叉树:
1.斜树:左斜树,右斜树
特点:结点数和深度相同
2.满二叉树:
1)分支结点都存在左子树和右子树
2)叶子都在同一层
特点:
非叶子结点的度一定是2
相同深度二叉树中满二叉树的节点个数最多,叶子数最多
3.完全二叉树:最下面一层满或者不满的和相应的满二叉树对应的二叉树。
特点:
@和同高度满二叉树的结点按层序编号是一一对应的。
@叶子结点只可能在层次最下两层上出现且最下层的叶子结点一定集中左部连续位置。
@如果有度为1的结点,只可能有一个,且该结点只有左孩子而无右孩子。
@同样结点树的二叉树,完全二叉树的深度是最小的。
二叉树的性质:
1.非空二叉树上叶子结点数等于度为2的结点数加1。
证明:
@设度为0,1,2的结点数分别是N0,N1,N2,总结点数N=N0+N1+N2。
@分支数记为B,根结点无对应分支,其他结点一一对应,B=N-1。
@度为2的结点产生两个分支,度为1的结点产生一个分支,叶子结点不产生分支。B=N1+2N2。
@N0+N1+N2-1=N1+2N2,所以N0=N2+1。
2.非空二叉树上第K层上至多有2^(k-1)个结点(K>=1)。
3.高度为H的二叉树至多有2^h -1个结点数(H>=1)。
4.具有N个(N>0)结点的完全二叉树的高度为[log2(N+1)]或[log2N]+1
5.对于完全二叉树按从上到下,从左到右的顺序依次编号1.2,…N,则
6.高度为h的满m叉树,从1开始对全部结点开始编号:
@编号为i的结点的第一个孩子结点为j=m(i-1)+2,反过来结点i的双亲的编号为j=i-2)/m+1。
@编号为i的结点有右兄弟的条件,结点编号是什么:双亲为j的m个孩子为i=m*j+1,则(i-1)%m!=0。