博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树的性质
阅读量:6998 次
发布时间:2019-06-27

本文共 909 字,大约阅读时间需要 3 分钟。

  hot3.png

二叉树的性质

性质1在二叉树的第i层上至多有2i-1个结点(i≥1)。(数学归纳法可证)

性质2深度为k的二叉树最多有2k-1个结点(k≥1)。(由性质1,通过等比数列求和可证)

性质3一棵二叉树的叶子结点数为n0,度为2的结点数为n2,则n0 = n2 + 1

证:结点总数n = n0 + n1 + n2。设B为分支总数,因为除根节点外,其余结点都有一个分支进入,所以n = B + 1。又因为分支是由度为12的结点射出,所以B = n1 + 2n2。综上:n = n0 + n1 + n2 = B + 1 = n1 + 2n2 + 1,得出:n0 = n2 + 1

性质4:具有n个结点的完全二叉树的深度为floor(log2n) + 1

性质5如果对一棵有n个结点的完全二叉树(其深度为floor(log2n) + 1 )的结点按层序编号,则对任一结点i1≤i≤n)有:

1 如果i = 1,则结点i是二叉树的根,无双亲;如果i > 1,则其双亲PARENT(i)是结点 floor((i)/2)

2)如果2i > n,则结点i无左孩子;否则其左孩子LCHILD(i)是结点2i

3)如果2i + 1 > n,则结点i无右孩子;否则其右孩子RCHILD(i)是结点2i + 1

例题:

    一颗完全二叉树上有1001个结点,                树的高度是多少?                其叶子结点的个是多少?                假如从1 开始编号,则编号最小的叶子结点编号为多少?                有多少条边?      解答:1.利用性质4,10            2.501            3.最后一个结点是1001,则其父节点编号500,500之后的结点全部为叶子结点,叶子结点为501个.并且第一个叶子结点编号也为501(巧合!!!!)            4.1000条边

如有错误之处,还请多多包涵,欢迎指正!!

转载于:https://my.oschina.net/dadou/blog/492919

你可能感兴趣的文章
python基础3(元祖、字典、深浅copy、集合、文件处理)
查看>>
正确编写Designated Initializer的几个原则
查看>>
iOS播放动态GIF图片
查看>>
获取版本号
查看>>
使用jdk自带的visualVM监控远程监控was
查看>>
集合视图UICollectionView 介绍及其示例程序
查看>>
JsLint 的安装和使用
查看>>
合并傻子//区间dp
查看>>
让IE和Chrome都以隐身模式启动
查看>>
MyPython-->进阶篇-->类
查看>>
unity remote 连接设置
查看>>
2018 NOIP备战计划
查看>>
教你如何迅速秒杀掉:99%的海量数据处理面试题
查看>>
zw版【转发·台湾nvp系列Delphi例程】HALCON InpaintingCt2
查看>>
POJ2155 Matrix
查看>>
字符串匹配算法
查看>>
Eclipse 问题整理
查看>>
Java常用工具类之RegexpUtils,正则表达式工具类
查看>>
c# 利用反射 从json字符串 动态创建类的实例 并动态为实例成员赋值
查看>>
Kali Linux 优化过程
查看>>