二叉树的性质综合

来源:互联网 发布:系统优化软件2017 编辑:程序博客网 时间:2024/05/16 10:14

摘自《大话数据结构》,随时补充
这里写图片描述
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的分支后,节点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。

0 0