二叉树和基本性质

一. 一些定义

 

  二叉树:每个结点至多有两棵子树,有左右之分,次序不能颠倒。

  满二叉树:深度为k,具有2k-1个结点的二叉树。

  完全二叉树 : 层序遍历时,与对应的k层满二叉树的前n个 一 一 对应,即,只可以缺少最后一层的连续结点。

 

二. 常用到的二叉树性质

 

1. 在二叉树的 i 层,至多有2i-1个结点(i>=1)

2. 深度为k的二叉树至多有2k-1个结点。

3. 对任何一棵二叉树T,如果其终端结点数为 n0,度为 2 的结点数为 n2, 则 n0= n2 +1

  设n1为二叉树 T 中度为1的结点数。因为二叉树中所有结点的度均小于或等于2,所以结点总数:

      n=n0+n1+n2;

  再看二叉树中的分支数,除了根结点外,其余结点都有一个分支进入,设 B 为分支总数:

      n=B+1;

  由于这些分支是由度为1 和 2的结点射出的,所以:

      B=n1+2*n2;

   所以: n0=n2+1.

4. 具有n个结点的完全二叉树的深度为:log2n+1, 其中 log2n 向下取整。

5. 在一棵有 n 个结点的完全二叉树中,对一个结点 i(1<=i<=n):

  (1) i=1,根节点,i >1,父亲是 i/2

  (2) 如果 2i >n,i 无孩子,否则左孩子是 2i

  (3) 如果 2i +1 >n,i 无右孩子,否则右孩子是 2i+1

 

参考:数据结构(C语言版) 严蔚敏 吴伟民 编著   清华大学出版社

posted @ 2016-03-14 15:40  Sparrow6963  阅读(468)  评论(0)    收藏  举报