二叉树的基本性质及证明
来源:互联网 发布:opensshserver ubuntu 编辑:程序博客网 时间:2024/04/30 07:30
性质1:一棵非空二叉树的第i层上最多有2^(i-1)个结点,(i>=1)。
性质2:一棵深度为k的二叉树中,最多具有2^k-1个结点,最少有k个结点。
性质3:对于一棵非空的二叉树,度为0的结点(即叶子结点)总比度为1的结点多一个,即叶子结点数为n0,度为2的结点数为n2,则有n0=n2+1。
证明:如果n0表示度为0(即叶子结点)的结点数,用n1表示度为1的结点数,n2表示度为2的结点数,n表示整个完全二叉树的结点总数,则有n=n0+n1+n2,根据二叉树和树的性质,可知n=n1+2xn2+1(所有结点的度数之和加1等于结点总数),根据两个等式可知n0+n1+n2=n1+2xn2+1,即n2=n0-1,也即n0=n2+1。
性质4:具有n个结点的完全二叉树深度为(log2(n))+1。
证明:根据性质2,深度为k的二叉树,最多有2^k-1个结点,且完全二叉树的定义是与同深度的满二叉树前边的编号相同,即它们的结点总数n位于k层和k-1层的满二叉树容量之间,即2^(k-1)-1< n <=2^k-1之间,或2^(k-1) <= n <2^k,两边同时取对数得,k-1<=log2(n)<k,又因层数为整数,故log2(n)=k-1,即k=log2(n)+1。
性质5:对具有n个结点的完全二叉树,如果按照从上至下和从左至右的顺序对二叉树的所有结点从1开始编号,则对于任意的序号为i的结点有:
如果i>1,那么序号为i的结点的双亲结点序号为i/2;
如果i=1,那么序号为i的结点为根节点,无双亲结点;
如果2i<=n,那么序号为i的结点的左孩子结点序号为2i;
如果2i>n,那么序号为i的结点无左孩子;
如果2i+1<=n,那么序号为i的结点右孩子序号为2i+1;
如果2i+1>n,那么序号为i的结点无右孩子。
- 二叉树的基本性质及证明
- 二叉树的性质及相关证明
- 二叉树的五大性质及证明
- 二叉树基本性质及二叉树链表类
- 二叉树的基本性质
- 二叉树的基本性质
- 二叉树的基本性质
- 二叉树的基本性质
- 二叉树的基本性质及使用实现
- 二叉树的几个基本性质
- 二叉树的性质及实现代码 !!!!
- 二叉树的相关概念及性质
- 一:二叉树的性质及创建
- 二叉树的定义及性质
- 二叉树的定义,性质及存储
- 傅里叶变换(CTFT)的性质及证明
- 什么是二叉树?及二叉树的性质
- 二叉树及二叉树的相关性质
- PHP面向对象(OOP)第一天
- NodeJs 国内镜像
- fread and fwrite
- 微服务实战(一):微服务架构的优势与不足
- 导航控制器的使用02
- 二叉树的基本性质及证明
- 剑指offer 24题 【举例让抽象具体化】二叉搜索树的后序遍历序列
- Android UiAutomator自动化测试时一个保存log文件的方法
- eclipse java was started but returned exit code = 1,eclipsereturned
- Java虚拟机学习笔记-第二章(下)
- 微服务实战(二):使用API Gateway
- (1)Java语言规范
- Labview 串口通信之——PC控制云台方向
- 微服务实战(三):深入微服务架构的进程间通信