完全二叉树总结点叶子结点计算公式题型总结--技术岗笔试(持续更新)
最近笔试接触到了很多二叉树的公式,但很奇怪的是没有汇总文章,接下来就我自己所见到的题型做个汇总。干货~
Q1.已知完全二叉树总结点数 N,求叶子结点数 n?
如果是偶数个节点,叶子节点等于总节点除以2, 即 N % 2==0, n = N/2
如果是奇数个叶子节点等于(总节点+1)除以2, 即 N % 2 == 1, n = (N+1)/2
即向上取整。
推导可参考:https://blog.csdn.net/stpeace/article/details/40210563
Q2. 已知完全二叉树叶子结点数n, 求总结点数N?
直接计算 : N = 2n
Q3. 已知长度150的队列,对满二叉树进行广度遍历,求二叉树的最大深度?(第一层深度为1)
满二叉树每一层的结点个数为(第一层深度为1)第n层的节点数:2^(n-1),
如果使用150的队列进行广度优先遍历,则每一层的节点数不大于150,
2^(n-1)≤150,2^7=128,2^8=256,n-1最多为7,所以最大深度n=8.
Q4.小根堆 8,15,10,21,34,16,12,删除8后重建堆,最后的叶子节点为?
用到向下调整:
删除8后,将12移动到堆顶,首先15、10比较选取最小的子节点,然后当前节点12和10比较并交换,最后比较16,故比较次数为3次。叶子结点为16。
Q5. 二叉树有着双分支结点数15,单分支结点数30,叶子节点数为?
16
根据二叉树的性质3,叶结点数n0与度为2的结点数n2的关系是:n0=n2+1。
一些性质:
1. 在非空二叉树中,第i层的结点总数不超过 2^(i-1) , i>=1;
2. 深度为h的二叉树最多有 2^h - 1 个结点(h>=1),最少有 h 个结点;
3. 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;
4. 具有n个结点的完全二叉树的深度为(注:[ ]表示向下取整)
5. 若对一棵有n个节点的完全二叉树进行顺序编号(1≤i≤n),那么,对于编号为i(i≥1)的节点:
当i=1时,该节点为根,它无双亲节点 。
当i>1时,该节点的双亲节点的编号为i/2 。
若2i≤n,则有编号为2的左叶子,否则没有左叶子 。
若2+1≤n,则有编号为2i+1的右叶子,否则没有右叶子 。
6. n个节点的二叉树一共有((2n)!)/(n! * (n+1)!)种
7. 二叉树节点计算公式 N = n0+n1+n2,度为0的叶子节点比度为2的节点数多一个。
N=1*n1+2*n2+1
8. 对任何一棵二叉树T,如果其终端节点数为n0,度为2的节点数为n2,则
n0=n2+1
一些概念:
①结点:包含一个数据元素及若干指向子树分支的信息 。
②结点的度:一个结点拥有子树的数目称为结点的度 。
③叶子结点:也称为终端结点,没有子树的结点或者度为零的结点 。
④分支结点:也称为非终端结点,度不为零的结点称为非终端结点 。
⑤树的度:树中所有结点的度的最大值 。
⑥结点的层次:从根结点开始,假设根结点为第1层,根结点的子节点为第2层,依此类推,如果某一个结点位于第L层,则其子节点位于第L+1层 。
⑦树的深度:也称为树的高度,树中所有结点的层次最大值称为树的深度。
1、满二叉树
高度为h,由2^h-1个节点构成的二叉树称为满二叉树。
2、完全二叉树
完全二叉树是由满二叉树而引出来的,若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数(即1~h-1层为一个满二叉树),第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。
堆一般都是用完全二叉树来实现的。
3.二叉树遍历
前序遍历(前根遍历):根——>左——>右
中序遍历(中根遍历):左——>根——>右
后序遍历(后根遍历):左——>右——>根
已知前序和中序,求后序问题, 前序 ABDGCEFH 中序 DGBAECHF
解法:根据前序、中序综合判断画出树的节点图,然后再写后序遍历:DGBEHFCA
(前序和中序的子树也满足前序或中序的规则)
参考:
https://baike.baidu.com/item/%E4%BA%8C%E5%8F%89%E6%A0%91
https://blog.csdn.net/qq_33401691/article/details/78021446
https://blog.csdn.net/stpeace/article/details/40210563
欢迎补充和指正!不定时更新。
完全二叉树总结点叶子结点计算公式题型总结--技术岗笔试(持续更新)相关推荐
- c语言叶子结点的计算,计算一棵给定二叉树的所有结点/叶子结点
[2005 三 6] 两种方案计算二叉树各结点的子孙个数的算法 [测试数据]来源:https://blog.csdn.net/weixin_42034217/article/details/95787 ...
- 求二叉树中从根结点到叶子结点的路径
/** * 实验题目: * 求二叉树中从根结点到叶子结点的路径 * 实验目的: * 掌握二叉树遍历算法的应用,熟练使用先序.中序.后序3种递归 * 和非递 ...
- 教你一秒钟得出 N个节点的完全二叉树有多少个叶子节点 / 度为1或2的节点个数
没耐心的同学们可以直接拉到最底下看结论,有兴趣的话可以浏览全篇文章 完全二叉树的节点计算基本是几类,要么是求完全二叉树中的叶子节点个数或者度为1或者2的节点的个数. 其实这些问题根本上一一类问题,求解 ...
- 《Autosar_MCAL高阶配置》总目录_培训教程持续更新中...
欢迎大家订阅<Autosar_MCAL高阶配置>专栏(可以理解为是Autosar培训教程),献上常用的案例和配置方法.下方整理了相关博文的链接(单击蓝色字体即可跳转),方便大家获取. 本专 ...
- 二叉树的进阶操作---(求二叉树中所有结点个数,求叶子结点个数,求第k层结点个数;在二叉树中查找某一结点;层序遍历;判断是否为完全二叉树)
typedef struct TreeNode {struct TreeNode *left;struct TreeNode *right;char val; }TreeNode;typedef st ...
- c语言输出度为1 的节点,计算机国家二级考试中的度为1和度为2是什么意思?老师说:总结点=叶子节点数+度为1+度为2,都是什么意思?...
度是一个计算机的单位,度为1就说明该节点的个数为1,度为2就说明该节点的个数为2. 而度为0的结点叫叶子结点,由二叉树的性质可以知道在二叉树中叶子结点总是比度为2的结点多一个,故总结点=叶子节点数+度 ...
- 一棵二叉树中总共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为多少个?
二叉树就是说一个结点下面可能有两个子结点(度为2),也可能有一个子结点(度为1),或者没有子结点(度为0,也叫叶子结点) 那么在这棵树中只可能出现三种情况:度为2,度为1,度为0(叶子结点).不可能出 ...
- 设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点
2^9 - 1 = 511 511 - 500 = 11 2 ^ 8 - 1 = 255 511 - 255 = 256 "所以缺少了11个右结点"的"右"字上 ...
- 树的度,结点,叶子结点,二叉树
设树T的度为4,其中度为1.2.3.4的结点个数分别为4.2.1.1.则T中有多少个叶子结点? A.4 B.6 C.8 D.10 一棵含有n个结点的树,有n-1个分支,即 n = 14 + 22 + ...
最新文章
- .sql文件如何执行_深入理解SQL原理:SQL查询语句是如何执行的?
- jaxp的Sax解析
- 2. getline()和get()
- html tab与jQuery,js与jquery分别实现tab标签页功能的方法
- html.锁屏主题,锁屏HTML主题插件GroovyLock发布
- linux下自定义dubbo的shell脚本
- 【转】刨根究底字符编码【2.0版】(2):关键术语解释
- A good book to learn C#2.0 ----C# 2.0 : Practical Guide for Programmers
- windows虚拟声卡直播_【韭菜爱镰刀】高性价比的录音/直播设备推荐
- 【IBM Tivoli Identity Manager 学习文档】2 部署准备知识
- 计算机组成原理 多级中断,计算机组成原理的大神们能不能帮忙做几道题啊
- pb5.0-pb10.0各版本高速下载
- access字段属性设置下拉列表_CAD常用命令:ATTDEF(定义属性)
- Win10系统安装失败?用这种方法一键就解决了
- 雅虎搜索架构_雅虎! 想要推动您的网站搜索
- 计算机设计媒体专业排名,2020USNEWS媒体与数字媒体专业综合排名
- HTML5 2D平台游戏开发#8指令技
- 未来计算机行业哪个吃香,男孩子未来最吃香的十大行业
- Maven server structure problem
- 苹果提示:“未信任的企业开发者”
热门文章
- ipmitool命令
- NYOJ409 郁闷的c小加三
- 数字化需要授之以渔,Azure 动手实验营在等你
- mysql tinytext 最大长度_TINYTEXT,TEXT,MEDIUMTEXT 和 LONGTEXT 的最大存储大小
- Unity技巧总结03 转美术数字动态设置
- mysql 的命名管道_笔记27-徐 SQLSERVER命名管道工作原理
- 20 张图揭开「内存管理」的迷雾,瞬间豁然开朗
- BZOJ 2085 Poi2010 Hamsters Hash+倍增Floyd
- 【LeetCode击败99%+】二叉树的最大深度
- 东南大学计算机学院2020复试名单,东南大学公布2020考研数据,录取7745人,硕士6170人...