已知一棵完全二叉树的节点数n,求叶节点数
题目如题
假设完全二叉树中,度为0的节点(即叶节点)数目为n0,度为1的节点数为n1,度为2的数目为n2,总数为n
首先我们得知道两个公式
结点总数满足:
n = n0 + n1 + n2
出度、入度,即分支数满足:
n - 1 = 0*n0 + 1*n1 + 2*n2
得n0 = n2 + 1 = (n-1 - n1)/2 + 1
但我们还是不能求出叶子节点数,我们还少了个条件,
如果节点总数是偶数,则
n1 = 1
如果节点总数是奇数,则
n1 = 0
由此
n0 = (n-1 - (n1+1) % 2) / 2 + 1
假设n = 2019
则n0 = (2018 - 0)/2 + 1= 1010
已知一棵完全二叉树的节点数n,求叶节点数相关推荐
- 已知一棵完全二叉树存于顺序表sa中,sa.elem[1..sa.length]含结点值,试编写算法由此顺序存储结构建立该二叉树的二叉链表。
已知一棵完全二叉树存于顺序表sa中,sa.elem[1-sa.length]含结点值,试编写算法由此顺序存储结构建立该二叉树的二叉链表. 分析:由二叉树的性质可知,一个下标为i的节点若有左子树,则其左 ...
- 已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法...
已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法 #define N 10 //二叉树节点的个数 char postorderstr[]={};//后序序列 char i ...
- 6.36③ 若已知两棵二叉树B1和B2皆为空,或者皆 不空且B1的左、右子树和B2的左、右子树分别相似, 则称二叉树B1和B2相似。试编写算法,判别给定两 棵二叉树是否相似。
6.36③ 若已知两棵二叉树B1和B2皆为空,或者皆 不空且B1的左.右子树和B2的左.右子树分别相似, 则称二叉树B1和B2相似.试编写算法,判别给定两 棵二叉树是否相似. 要求实现下列函数: S ...
- 【C++】已知二叉树先序遍历+中序遍历 求后序遍历
题目:已知二叉树先序遍历+中序遍历 求后序遍历 对于一棵二叉树,给定其先序遍历的结果序列和中序遍历的结果序列,请写出其后序遍历的结果序列. 输入样例: GDAFEMHZ(先序遍历的结果序列) ADEF ...
- python求斜边上的高是多少厘米_已知一个直角三角形的两条直角边,如何求斜边上的高的长度...
展开全部 利用:直角32313133353236313431303231363533e59b9ee7ad9431333431333963三角形的面积不变,即两直角边的乘积的一半=斜边乘以斜边上的高的一 ...
- java 球面距离_[置顶] C语言实验题:已知地球上两点的经度和纬度求其球面距离...
要求:地球的平均半径为6371千米,已知地球上两个城市A.B的经度和纬度,编程序求出这两个城市之间的地面距离. 首先,固定两点,a(x1,y1,z1),b(x2,y2,z2). 由空间解析几何及向量知 ...
- 已知T(n)=2T(n/2)+n,求O(n)?
已知T(n)=2T(n/2)+n;求O(n)? 总结网上的归纳,自己再写一遍: T(n)=2T(n/2)+n 第一次,即k=1T(n/2)=2T((n/2)/2)+n/2 第二次,即k=2T((n/2 ...
- 数据结构----二叉树已知先序和中序遍历序列求后序遍历
说明 通过先序和中序或者中序和后序我们可以还原出原始二叉树,但是通过先序和后序是无法还原出原始二叉树也即是说,只有通过先序和中序,或者中序和后序我们才可以唯一的确定一个二叉树. 例子一 已知先序和中序 ...
- 已知直角三角形的斜边是某个整数,求满足这个条件的不同直角三角形的个数。
勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形. 已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数. 求满足这个条件的不同直角三角形的个数. [数据格式] 输入一 ...
最新文章
- CEGUI Lua 编码
- 助力中文文字识别突破,美团公开首个真实场景招牌图像数据集
- (流式、lambda、触发器)实时处理大比拼 - 物联网(IoT)\金融,时序处理最佳实践
- 行转列:SQL SERVER PIVOT与用法解释
- 渗透测试网络环境搭建
- 7系列mrcc xilinx_XILINX 7系列FPGA_时钟篇
- 【luogu P3378 堆】 模板
- 系统架构工作笔记-数据展示进程与读取数据进程分离,实现低耦合(展示软件可适用任意厂家数据库)
- jQuery Ajax上传文件
- 区块链共识问题都有什么?
- java.rmi.ConnectException: Connection refused to host:
- C++中-运算符与.运算符的具体使用
- Funcode学习笔记:写一个维护性高、扩展性强的框架【By Myself】【C++】
- 计算机无法安装小丸工具箱,小丸工具箱
- macOS 使用软件(外加装逼特效)
- docker 停止、启动、删除镜像指令操作总结
- r语言做绘制精美pcoa图_pca , nmds , pcoa 图添加分组的椭圆
- sql查询本月数据,当天数据
- 「2020」拼多多数据分析笔试题 | 附解答
- firefox os资源
热门文章
- 多线程 ---- 线程的通信
- 职校高一计算机课高一,职高高一数学课件
- 用计算机玩王者荣耀,王者荣耀你们用电脑玩王者荣耀顺手吗? - 游戏发言 - 酷酷跑手机游戏...
- 【调剂】广西大学机械工程学院杨望农业机械团队招生
- python快速数据分析_收藏 | 10个可以快速用Python进行数据分析的小技巧
- 解决android studio 控制台乱码
- 启动SpringBoot项目时,报程序包不存在或者找不到符号的错误
- 常见的分布式文件系统介绍
- JavaScript高级程序设计(读书笔记)(六)
- EasyNVR更新版本后如何同步RTSP通道?