二叉树的主要性质总结!

总结自《2018版数据结构高分笔记》

1、非空二叉树上叶子结点数等于双分支结点数加1

这道题在公司招聘的笔试题中经常作为一道填空或者选择题出现,我们可以稍微证明一下这个结论。

证明
假设二叉树中叶子结点数为n0,单分支结点数为n1,双分支结点数为n2,则总结点数为n0+n1+n2。那么在一棵树中,所有结点的分支数等于单分支结点数加上双分支结点数的两倍,即n1+2*n2。另一方面,在一棵二叉树中,除了根结点外,每个结点都有唯一的一个分支指向它,因此二叉树中总的分支数=结点数-1,即n0+n1+n2=n1+2*n2+1,可以得到最初的结论。

变形
这个性质可以运用到很多题目中,比如,题目可能会问二叉树中总的结点数为n,则树中的空指针有多少。如果把空指针想成是叶子结点的话,我们可以认为树中的现有的n个结点都是双分支结点,所以空指针的树木为n+1个。

2、二叉树的第i层上最多有2^(i-1)个结点

结点最多的情况就是满二叉树的情况,此时二叉树每层上的结点数构成了一个首项为1,公比为2的等比数列,通项为2^i-1,i为层号

3、高度或深度为k的二叉树最多有2^(k)-1个结点,换句话说,满二叉树的结点个数为 2^(k)-1。

4、在n个结点的完全二叉树中,对各结点从上到下,从左到右依次编号,则结点之间有如下的关系:

若i为某结点a的编号,则:
如果i!=1,则a的双亲结点编号为floor(i/2)(向下取整的意思);
如果2i<=n,则a的左孩子的编号为2i,反之a无左孩子;
如果2i+1<=n,则a的右孩子的编号为2i+1,反之a无右孩子。

5、函数Catalan(),给定n个结点,能构成Catalan(n)种不同的二叉树:Catalan数的算法为:

6、具有n个结点的完全二叉树的高度为floor(log2n)+1。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 数据结构和算法--二叉树的实现 几种二叉树 1、二叉树 和普通的树相比,二叉树有如下特点: 每个结点最多只有两棵子...
    sunhaiyu阅读 11,619评论 0 14
  • 编程中我们会遇到多少挫折?表放弃,沙漠尽头必是绿洲。 学习二叉树的意义 由于二叉树的知识更倾向于理论,所以我们在实...
    神经骚栋阅读 11,432评论 5 57
  • 二叉树是最常用的数据结构之一,笔者过去一直将关注点放在复杂的树结构(例如红黑树,自平衡树),认为那些才是树的重要应...
    潮汐行者阅读 8,060评论 0 7
  • 什么是”树“ 树(tree)是包含n(n>0)个结点的有穷集,其中:(1)每个元素称为结点(node)(2)有一个...
    Neo_joke阅读 4,966评论 1 5
  • 树和二叉树 1、树的定义 树(Tree)是由一个 或 多个结点 组成的有限集合T,且满足: ①有且仅有一个称为根的...
    利伊奥克儿阅读 5,351评论 0 1

友情链接更多精彩内容