07_1.二叉数

- 在非空二叉树第i层中至多有2^i个结点(i>=0)

第0层至多有一个根结点

- 高度为h的二叉树至多有(2^(h+1))-1个结点(h>=0)

高度为0只有一个根结点

- 对于任何非空二叉树T,如果其叶结点的个数n0,度数为2的结点个数为n2,那么n0=n2+1

叶结点(没有子结点的结点),度数为2(有左右2个子树)

- 满二叉树的叶结点比分支结点(度数不为0的结点)多一个

扩充二叉树:

扩充二叉树对二叉树T,加入足够多的新叶结点,使T的原结点都变成度数为2的分支结点,得到的二叉树
称为T的扩充二叉树。扩充二叉树中新增的结点称为其外部结点,原树T的结点(注意包括根结点)称为其内部结点。空树的扩充二叉树
规定为空树
扩充二叉树的外部结点的个数比内部结点的个数多1
n = n - 1

- 扩充二叉树的外部路径长度E是从树根到树中各外部结点的路径长度之和,
内部路径长度I是从树根到树中各内部结点的路径长度之和。
如果该树有n个内部结点,那么E=I+2*n

完全二叉树:

对于一棵高度为h的二叉树,如果其第0层至第h-1层的结点都满(也就是说,对所有0<=i<=h-1,第i层有
2^i个结点),如果最下一层的结点不满,则所有结点在最左边连续排列,空位都在右边,这样的二叉树就是一
棵完全二叉树。
完全二叉树,除了最下两层外,其余层都是度数为2的分支结点,而且除了最右的分支结点度数可能为1外,其余分支结点的度数均为2

 - n个结点的完全二叉树高度h=|_log2n_| ,即为不大于log2n的最大整数

- 如果n个结点的完全二叉树的结点按层次并按从左到右的顺序从0开始编号,对任一结点i(0<=i<=n-1)都有:

  * 序号为0的结点是根

  * 对于i>0,其父结点的编号是(i-1)/2

      * 若2*i+1<n,其左子结点序号为2*i+1,否则它无左子结点

  * 若2*i+2<n,其右子结点序号为2*i+2,否则它无右子结点

二叉树的遍历:

深度优先遍历:

  • 先根序遍历:按照根,左子树,右子树顺序
  • 中根序遍历(对称序):按照左子树,根,右子树顺序
  • 后根序遍历:按照左子树,右子树,根顺序

 由于二叉树的子树也是二叉树,将一种具体的遍历顺序继续运用到子树的遍历中,在遍历过程中遇到子树为空的情况,就立即结束处理并转去继续做下一步工作,如先根序列遍历中遇到左子树为空,就转去遍历相应的右子树

先根序遍历(先根序列):ABDHEICFJKG

中根序遍历(中根序列):  DHBEIAJFKCG

后根序遍历(后根序列): HDIEBJKFGCA

如果知道了一棵二叉树的对称序列,又知道另一遍历序列,就可以唯一确定这个二叉树

宽度优先遍历:

就是按层次顺序遍历

ABCDEFGHIJK

原文地址:https://www.cnblogs.com/fly-book/p/11743479.html