性质一:

在二叉树中,设度为0的结点数为n0,度为2的结点数为n2,有n0=n2+1在二叉树中,设度为0的结点数为n_0,度为2的结点数为n_2,有n_0=n_2+1在二叉树中,设度为0的结点数为n0​,度为2的结点数为n2​,有n0​=n2​+1

证明:证明:证明:
一个有N个结点的二叉树中,除了根结点之外,每一个结点都有一个指向它的分支,设分支的总数为M有M=N−1=n0+n1+n2−1又因为M=n1+2n2所以n0=n2+1一个有N个结点的二叉树中,除了根结点之外,每一个结点都有一个指向它的分支,设分支的总数为M \\ 有M=N-1=n_0+n_1+n_2-1\\ 又因为M=n_1 + 2n_2\\ 所以n_0 = n_2 + 1一个有N个结点的二叉树中,除了根结点之外,每一个结点都有一个指向它的分支,设分支的总数为M有M=N−1=n0​+n1​+n2​−1又因为M=n1​+2n2​所以n0​=n2​+1

性质二:

一棵二叉树第h层最多有2h−1个结点,高度为h的二叉树最多有2h−1个结点一棵二叉树第h层最多有2^{h-1}个结点,高度为h的二叉树最多有2^h-1个结点一棵二叉树第h层最多有2h−1个结点,高度为h的二叉树最多有2h−1个结点

证明:证明:证明:
第一层有1个结点(根节点),第二层最多有2个,第三层最多有4个…第h层最多有2h−1个结点,等比数列求和,高度为h的二叉树最多有2h−1个结点第一层有1个结点(根节点),第二层最多有2个,第三层最多有4个 \dots \\ 第h层最多有2^{h-1}个结点,等比数列求和,高度为h的二叉树最多有2^h-1个结点第一层有1个结点(根节点),第二层最多有2个,第三层最多有4个…第h层最多有2h−1个结点,等比数列求和,高度为h的二叉树最多有2h−1个结点

性质三:

在一棵有n个结点的二叉树中,树的高度为h,h=⌈log⁡2(n+1)⌉或h=⌊log2n⌋+1在一棵有n个结点的二叉树中,树的高度为h,h = \lceil \log_2(n+1) \rceil 或 h=\lfloor log_2n\rfloor +1在一棵有n个结点的二叉树中,树的高度为h,h=⌈log2​(n+1)⌉或h=⌊log2​n⌋+1

证明:证明:证明:
因为树高为h,有2h−1−1<n≤2h−1所以h−1<log2(n+1)≤h所以h=⌈log⁡2(n+1)⌉因为树高为h,有2^{h-1} -1 \lt n \le 2^{h}-1\\ 所以 h-1 \lt log_2(n+1)\le h \\ 所以h=\lceil \log_2(n+1) \rceil因为树高为h,有2h−1−1<n≤2h−1所以h−1<log2​(n+1)≤h所以h=⌈log2​(n+1)⌉

同理2h−1≤n<2h所以h−1≤log2(n)<h所以h=⌊log2n⌋+1同理2^{h-1} \le n \lt 2^{h} \\ 所以 h-1 \le log_2(n)\lt h \\ 所以h=\lfloor log_2n\rfloor +1同理2h−1≤n<2h所以h−1≤log2​(n)<h所以h=⌊log2​n⌋+1

性质四:

在一棵完全二叉树中,最后一个非终端结点的编号为⌊n/2⌋在一棵完全二叉树中,最后一个非终端结点的编号为\lfloor n/2 \rfloor在一棵完全二叉树中,最后一个非终端结点的编号为⌊n/2⌋

证明:证明:证明:
首先要明确一个完全二叉树的最后一个非终端结点一定位于该树的倒数第二层设这最后一个终端结点是该层第k个元素,编号为x,树的高度为h首先要明确一个完全二叉树的最后一个非终端结点一定位于该树的倒数第二层\\ 设这最后一个终端结点是该层第k个元素,编号为x,树的高度为h首先要明确一个完全二叉树的最后一个非终端结点一定位于该树的倒数第二层设这最后一个终端结点是该层第k个元素,编号为x,树的高度为h
有x=k+2h−2−1有x= k+2^{h-2}-1有x=k+2h−2−1
最后一层的元素个数n−2h−1+1倒数第二层最后一个非终端之前的结点都有俩个子结点最后一个非终端结点可能有一个子结点,可能有俩个子结点所以⌈[n−2h−1+1]/2⌉=k最后一层的元素个数 n-2^{h-1}+1\\ 倒数第二层最后一个非终端之前的结点都有俩个子结点\\ 最后一个非终端结点可能有一个子结点,可能有俩个子结点\\ 所以\lceil [n-2^{h-1}+1]/ 2\rceil = k最后一层的元素个数n−2h−1+1倒数第二层最后一个非终端之前的结点都有俩个子结点最后一个非终端结点可能有一个子结点,可能有俩个子结点所以⌈[n−2h−1+1]/2⌉=k
x−2h−2+1=⌈[n−2h−1+1]/2⌉x-2^{h-2}+1=\lceil [n-2^{h-1}+1]/ 2\rceilx−2h−2+1=⌈[n−2h−1+1]/2⌉
x=⌊n/2⌋x=\lfloor n/2 \rfloorx=⌊n/2⌋

同时也解释了为什么在二叉树的顺序存储中(下标从1开始),结点i的子结点下标为2∗i,2∗i+1同时也解释了为什么在二叉树的顺序存储中(下标从1开始),结点i的子结点下标为2*i,2*i+1同时也解释了为什么在二叉树的顺序存储中(下标从1开始),结点i的子结点下标为2∗i,2∗i+1

性质五:

有n个结点的哈夫曼树(最优二叉树)有(n+1)/2个叶节点,如果用二叉链表进行存储则会有n+1个空指针有n个结点的哈夫曼树(最优二叉树)\\ 有 (n+1)/2个叶节点,如果用二叉链表进行存储则会有n+1个空指针有n个结点的哈夫曼树(最优二叉树)有(n+1)/2个叶节点,如果用二叉链表进行存储则会有n+1个空指针

证明:证明:证明:
已知哈夫曼树不含有度为1的结点设度为0的结点数为n0,度为2的结点数为n2,有n0=n2+1已知哈夫曼树不含有度为1的结点\\ 设度为0的结点数为n 0,度为2的结点数为n_2,有n_0=n_2+1已知哈夫曼树不含有度为1的结点设度为0的结点数为n0,度为2的结点数为n2​,有n0​=n2​+1
n0+n2=Nn_0 +n_2=Nn0​+n2​=N
所以n0=(n+1)/2所以n_0=(n+1)/2所以n0​=(n+1)/2
二叉链表中的空指针个数2∗n0=n+1二叉链表中的空指针个数2*n_0 = n+1二叉链表中的空指针个数2∗n0​=n+1

性质6:

在完全m叉树中,编号为i的结点的第一个子结点编号为(i−1)∗m+2在完全m叉树中,编号为i的结点的第一个子结点编号为(i-1)*m + 2在完全m叉树中,编号为i的结点的第一个子结点编号为(i−1)∗m+2

证明:证明:证明:
假设编号为i的结点所在的层数为h−1,其第一个子结点所在层数为h那么在第h层,该子结点前面的结点个数为:(i−1−[mh−2−1m−1+1]+1)∗m,表示为h−1层中i结点以前的结点乘以每个结点所含有的m个结点假设编号为i的结点所在的层数为h-1,其第一个子结点所在层数为h\\ 那么在第h层,该子结点前面的结点个数为:\\ (i-1-[\frac{m^{h-2}-1}{m-1}+1]+1)*m,表示为h-1层中i结点以前的结点乘以每个结点所含有的m个结点假设编号为i的结点所在的层数为h−1,其第一个子结点所在层数为h那么在第h层,该子结点前面的结点个数为:(i−1−[m−1mh−2−1​+1]+1)∗m,表示为h−1层中i结点以前的结点乘以每个结点所含有的m个结点
再加上h−1层以上所有的结点个数mh−1m−1(i−1−[mh−2−1m−1+1]+1)∗m+mh−1m−1+1编号为(i−1)∗m+2再加上h-1层以上所有的结点个数\frac{m^{h-1}}{m-1}\\ (i-1-[\frac{m^{h-2}-1}{m-1}+1]+1)*m + \frac{m^{h-1}}{m-1} +1\\ 编号为(i-1)*m +2再加上h−1层以上所有的结点个数m−1mh−1​(i−1−[m−1mh−2−1​+1]+1)∗m+m−1mh−1​+1编号为(i−1)∗m+2

本文会随着我对二叉树性质的认知而不断更新,如果你有想通过数学证明的二叉树性质,可以评论告诉我

二叉树相关性质以及数学证明相关推荐

  1. 二叉树的相关性质及其前中后层序遍历实现

    写在前面: 本文前面部分介绍相关概念,后面部分是程序. 点击下面链接查看更多! 点击此处发现更多 一.二叉树的概念 1.1 相关术语 ①结点:包含一个数据元素及若干指向子树分支的信息 . ②结点的度: ...

  2. 二叉树的相关性质和特点

    目录 1.树型结构 1.1.树的概念 1.2. 树的表示形式(了解即可) 2.二叉树 2.1.二叉树的特点: 2.2 两种特殊的二叉树 2.3 二叉树的性质 2.4.二叉性质的相关选择题(巩固) 1. ...

  3. 树与二叉树与森林的相关性质

    文章目录 树的度 树的性质 二叉树的性质 二叉树与森林 树的度 树的度指的是树内所有节点的度数的最大值. 节点的度:节点所拥有的子树的数量.简单来说,我们直接数分支即可,例如下图: 在这颗二叉树中,节 ...

  4. k叉树的性质_二叉树的性质总结.doc

    <二叉树的性质总结.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<二叉树的性质总结.doc>文档请在天天文库搜索. 1.一.二叉树的性质性质1 ...

  5. c++用二叉树表示代数表达式_C语言:数据结构-二叉树的定义和基本术语和二叉树的性质...

    二叉树的定义和基本术语 (1)二叉树的定义 二叉树(Binary Tree):每个结点至多有两棵子树,且子树有左.右之分.在二叉树中不含度数大于2的结点. 二叉树的递归定义为:二叉树或者是一棵空树,或 ...

  6. 二叉树相关知识及求深度的代码实现

    文章目录 树 二叉树 满二叉树和完全二叉树 二叉树的性质 代码实现求二叉树的深度 树 树是一种非线性的数据结构,它是由n个有限结点组成一个具有层次关系的集合. 树的相关名词: 根节点:没有前驱结点的结 ...

  7. 较真的来了!这篇【硬核论文】为何恺明新作MAE提供了一种理论解释和数学证明...

    关注公众号,发现CV技术之美 昨天,arXiv上出现了一篇非常硬核的论文"How to Understand Masked Autoencoder".该论文为何恺明的最新一作论文& ...

  8. 回忆当年高考的一道数学证明题

    恰逢高考季,昨夜又做梦,与高中相关,就索性来写一篇,题目自定,立意自选. 每年高考后,我都会拿湖北高考的数学试卷做一下,这也许是特殊的爱好吧.知识点和公式基本没有忘记,熟练度肯定不如当年. 今天来聊聊 ...

  9. 4 种经典方法IB 数学证明题分享给大家

    学习数学时感觉最有意思的题目就是证明题了,证明题能练习一种能力: 你知道一件事情时对的,怎么说清楚它是对的:你认为一件事情时错的,怎么说清楚它是错的. 这和生活中的辩论有点像,要有理有据地说清楚原因. ...

最新文章

  1. 服务器系统ghost版 raid,服务器在raid5下做系统ghost备份.docx
  2. kill 进程_Node.js 进程平滑离场剖析
  3. 操作系统第一篇【引论】
  4. Caffe官方教程翻译(6):Learning LeNet
  5. 主持人副语言包括什么_央视主持人大赛,董卿最精彩的这几段点评,居然被剪掉了...
  6. python标准库time_Python3标准库:time时钟时间
  7. 一款java游戏伐木建造_伐木建造模拟器
  8. 阿里云飞天论文获国际架构顶会 ATC 2021最佳论文:全球仅三篇
  9. 重读经典:完全解析特征学习大杀器 ResNet
  10. iphone字体_朋友圈换个花样字体,发个朋友圈也高级过人
  11. 02-dos2unix命令与windows编辑shell不可执行问题
  12. 使用Pushlet将消息从服务器端推送到客户端
  13. 猫工智能:卷积神经网络层的实现
  14. Vuex速学篇:(2)利用state保存新闻数据
  15. win7 IIS7 发布网站遇到 HTTP 错误 500.19 由于权限不足
  16. HI3520D 音频
  17. 转载,点评:使用开源软件设计、开发和部署协作型 Web 站点
  18. linux学习杂碎:权限
  19. win 10 虚拟机设置固定 ip
  20. IPU相关知识(一)

热门文章

  1. vue中key的作用
  2. [计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程
  3. spring解耦原理
  4. 添加sudo权限脚本
  5. JAVA实现简单链表操作
  6. 163k地方门户网站系统团购定时结束限量控制
  7. 获取当前目录所有文件名 并且保存为1个00000.txt的文件文件bat
  8. 电信充q币短信怎么发_王者荣耀充值中心Q币充值IOS系统游戏点券的办法_云奇付Q币寄售...
  9. http默认超时时间_Bof 是一个HTTP客户端,旨在尽可能方便用户使用
  10. node-OSDomainNetPath