二叉树的性质综合

摘自《大话数据结构》,随时补充
二叉树的性质综合_第1张图片
1、二叉树第i层上最多有 2i1 个节点。
2、深度为k的二叉树最多有 2k1 个节点
3、对任意一个二叉树,如果终端节点数为 n0 ,度为2的节点数为 n2 ,那么 n0=n2+1
证明:二叉树每个节点都有一个分支进入,唯独根节点没有分支进入,那么总分支数=节点总数-1。所以分支总数= 2n2+n1 =节点总数-1= n0+n1+n21 。得出 n0=n2+1
4、具有n个节点的完全二叉树的深度为 |log2n|+1 |x| 是不大于x的最大整数
证明:完全二叉树–>对一个二叉树按层次顺序编号,如果编号i (1in) 的节点与同样深度的满二叉树中编号为i的节点在二叉树中的位置完全相同,则这个二叉树就是完全二叉树。比如上图就是一个完全二叉树,下图就不是(去掉2节点的分支后)
二叉树的性质综合_第2张图片
去掉2的分支后,节点5就不存在了,与相应的满二叉树的节点5位置就不同了,因此不是完全二叉树。
那么,该结论的证明如下:
根据完全二叉树的定义,深度为k的完全二叉树的叶子节点一定在最后两层,也就是说完全二叉树的节点个数一定大于 2k11 ,那么满足 2k11<n2k1 —> 2k1n<2k ,得 k1log2n<k ,那么 n=|log2n|+1
5、如果对一个有n个节点的完全二叉树的节点按层序编号,对任一节点i有
(1)如果i=1,则节点i是二叉树的根节点;如果i>1,那么i的双亲节点是|i/2|
(2)如果2i>n,那么节点i无左孩子;否则其左孩子就是2i
(3)如果2i+1>n,则节点无左孩子;否则其右孩子是节点2i+1。

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