【二叉树特点】
二叉树由根结点,左子树和右子树构成,具有以下几个典型特点:
- 只有一个根节点,每个结点下面最多只有两棵树;
- 在二叉树的第i层上至多有2^(i-1)个结点(i>=1);
- 深度为k的二叉树至多有(2^k) -1个结点(k>=1);
- 对任意一颗二叉树,如果叶子结点数为n0,度为2的结点(结点拥有的子树数就是度)点数为n2,则n0 = n2 + 1;
对于第4个特点,需要特别解释一下,可以从连接各结点之间的分支线角度来看,结点总数设为n,分支线总数为n-1(规律总结一下就晓得了),度为0的结点就是叶子结点的分支线为0,度为1的结点分支线为1,度为2的分支线为2,故得出n-1= n1*1+n2*2,又有结点总数n = n0+n1+n2,所以综合一下就得到了n0=n2+1。 - n个结点的完全二叉树的深度为不大于n的对数的最大值+1,主要是根据第2条特点延伸出来的;
- 对一棵n个结点的完全二叉树,结点按层序编号,对任一结点i(1<=i<=n),都有
如果i=1,结点i就是二叉树的根,无双亲,如果i>1,则其双亲是不大于i/2的结点,例如结点5,其双亲为5/2 =2,就是结点2;
如果2i>n,则结点i无左孩子,结点i就是叶子结点,否则,其左孩子就是2i;
如果2i+1>n,则结点i无右孩子,否则右孩子就是2i+1。
【二叉树分类】
二叉树有5种形态:空二叉树,只有一个根结点,只有左子树,只有右子树,既有左子树又有右子树。
注意特殊二叉树,包括斜树,满二叉树,完全二叉树。斜树就是只有左子树或者只有右子树的情况;满二叉树就是所有的结点都存在左子树和右子树,并且所有的叶子都在一层上;完全二叉树就是按层序编号从1开始,与满二叉树的位置是一一对应,并且结点按序号依次排列没有空档,就是完全二叉树。
满二叉树
完全二叉树