二叉树特性及证明

在二叉树的第 i 层上至多有 2i1 个结点

特性1:在二叉树的第 i 层上至多有 2i1 个结点
证明:
设 第 i 层的结点至多为 N, 由上需证明 在二叉树的第 i 层上有 N=2i1
① i=1时,因为二叉树只有一层时只有一个根结点,故 20 =1 成立
② 假设,当 i =k 时,等式成立,即 N=2k1 .
那么,当 i =k +1 时,因为第 k+1 层是第 k 层的下一层,故第 k + 1 层的结点最多为 2k12=2k=2(k+1)1 , 即 当i = k + 1时, N=2(k+1)1 成立,
由①, ②可知对一切自然数 i 等式成立

深度为 h 的二叉树, 它的结点至多为 2h1

特性2:深度为 h 的二叉树, 它的结点至多为 2h1 (深度即层数)

证明:
设,深度为 h 的二叉树的结点至多为 S(h),需证明等式S(h)= 2h1 成立
二叉树,每一层都取最大的结点数,由特性1 有:
20+21+22+...+2h1 = S(h) ①
21+22+23+...+2h = 2S(h) ②
② - ① = 2S(h) - S(h) = S(h) = 2h20=2h1 ,即等式S(h)= 2h1 成立

对任何一颗二叉树,若它含有 n0 个叶子结点, n2 个度(度,即产生分支数目)为2的结点,则必存在关系式: n0=n2+1

特性3:对任何一颗二叉树,若它含有 n0 个叶子结点, n2 个度(度,即产生分支数目)为2的结点,则必存在关系式: n0=n2+1
证明:
设,度为0的结点个数为 n0 , 度为1的结点个数为 n1 , 度为2的结点个数为 n2 , 整个二叉树上结点的数目为 n ,二叉树上分支的数目为 b ,
则有 n0+n1+n2=n
除了根结点以外都有一双亲结点(也叫父结点),有一个双亲,说明有一个分支
分支数目为 b ,因为根结点没有双亲,如下图,只有A结点没有双亲,其他都有双亲
二叉树特性及证明_第1张图片
所以 n=b+1
那么分支都是由度不为0的结点产生的,度为0的产生0个分支,度为1的结点产生1个分支,度为2的结点产生2个分支。
因为二叉树的结点数等于分支数+1,故有: n1+2n2+1=n
=n0n21=0 即, n0=n2+1

具有 n 个结点的完全二叉树的深度为 log2n+1

特性4:具有 n 个结点的完全二叉树的深度为 log2n+1
因为这个特性需要用到两类特殊二叉树的定义,所以先看两类二叉树的定义.

满二叉树:指的是深度为 k 且含有 2k1 个结点的二叉树。(可参考特性2)
如下图:

二叉树特性及证明_第2张图片

完全二叉树: 树中所含的n的结点和满二叉树中编号为 1 至 n 的结点一 一对应。
满二叉树,完全二叉树,非完全二叉树区别如下图:

二叉树特性及证明_第3张图片

特性4 证明:
设完全二叉树的深度为 k ,结点数为 n, 那么由特性2有,
n大于深度为k-1的满二叉树的结点数,且小于等于深度为k的满二叉树的结点数. 即,
2k11<n2k1 或者说:
2k1n<2k
对式子①取对数,有 k1log2n<k 因为 log2n 可能为整数,也可能不为整数,但是它是小于k且大于或等于k-1的,故对取 log2n 向下取整,则 k1=log2nk=log2n+1

你可能感兴趣的:(数据结构)