一、二叉树的定义
二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两颗互不相交的、分别称为根结点的左子树和右子树的二叉树组成。
二、二叉树的特点
1、每个结点最多有两颗子树。
2、左子树和右子树是有序的。
3、即使树中只有一课子树也要区分左右子树。
二叉树具有五种基本形态:
1、空二叉树。
2、只有一个根结点。
3、根结点只有左树。
4、根结点只有右树。
5、根结点既有左子树又有右子树。
三、特殊二叉树
1、斜树
所有的结点都只有左子树的二叉树叫做左斜树,所有结点都是只有右子树的二叉树叫右斜树。
2、满二叉树
在一颗二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样树称为满二叉树。
3、完全二叉树
对一颗具有n个结点的二叉树按层次编号,如果编号i (1<=i <=n)的结点与同样深度的满二叉树中编号为i的结点在二叉树中位置完全相同,则这棵树称为完全二叉树。
四、二叉树的性质
1、在二叉树的第i层上至多有2^(i-1)个结点(i>=1)
2、深度为k的二叉树至多有2^k-1个结点(k>=1)
3、对任何一颗二叉树T,如果其终端结点数为n0,深度为2的结点树为n2,则n0 = n2 + 1;
4、具有n个结点的完全二叉树的深度为log2^n+1
5、如果对一颗有n个结点的完全二叉树(其深度为log2^n+1)的结点按层序编号,对任一结点有: