编程求完全二叉树的叶子结点数
【问题描述】
已知一棵完全二叉树的总结点数为n,编程求它的叶子结点数n0。
【输入格式】
完全二叉树的总结点数n
【输出格式】
完全二叉树的总结点数n0
【输入样例】
1001
【输出样例】
501
【算法分析】
设完全二叉树的总结点数为n,叶子结点数为n0,单分支结点数为n1,双分支结点数为n2,则有:n=n0+n1+n2
又因为二叉树有性质:n0=n2+1
两式子联立得:n0=(n+1-n1)/2
由于完全二叉树的单分支结点数n1要么为0,要么为1。所以,当n为偶数时,n1必须为1,才能保证n0为整数。等价于当n为偶数时,n0=n/2;当n为奇数时,n1必须为0,才能保证n0为整数。等价于当n为奇数时,n0=(n+1)/2
【算法代码】
#include <bits/stdc++.h>
using namespace std;int n;
int main() {cin>>n;if(n%2==0) cout<<n/2<<endl;else cout<<(n+1)/2<<endl;return 0;
}/*
in:
1001out:
501
*/
编程求完全二叉树的叶子结点数相关推荐
- C++数据结构与算法—用递归方法求二叉树的叶子结点数
用递归方法写一个算法,求二叉树的叶子结点数int leafnum(BTREE T). 要求: 1.定义二叉树的抽象数据类型和型BTREE,并定义基本操作. 2.编写函数1eafnum(BTREE T, ...
- 计算二叉树的深度和叶子结点数
目录 一.求给定二叉树的深度 二.求给定二叉树中的叶子结点数 三.例题 一.求给定二叉树的深度 二叉树的深度就是二叉树中结点的最大层次.如果二叉树是空树,则深度为0:否则,可分别求二叉树根的左子树和右 ...
- 假设二叉树采用二叉链存储结构,编写一个算法,求出二叉树中的叶子结点数,并设计主函数调用上述算法。
假设二叉树采用二叉链存储结构,编写一个算法,求出二叉树中的叶子结点数,并设计主函数调用上述算法. #include<iostream>//蓝多多算法实验五:二叉树的应用(二) #inclu ...
- 【数据结构】求以孩子兄弟表示法存储的森林的叶子结点数,树高
1.求叶子结点数 T的第一个孩子存在T->firstChild里,所以如果T连第一个孩子都没有,那肯定为叶子结点,也就是说T->firstChild==NULL. 所以说,以孩子兄弟表示法 ...
- c语言二叉树结点 深度,求二叉树的深度、总结点数和叶子结点数
二叉树的二叉链表的存储结构: typedef char TElemType; typedef struct BiTNode { TElemType data;//数据元素 BiTNo ...
- 编程求以孩子兄弟表示法存储的森林的叶子结点数☆
题目:编程求以孩子兄弟表示法存储的森林的叶子结点数 分析:我们可以试想一个节点它如果有左孩子,那么根据孩子兄弟表示法的规则,那它一定不是叶节点,相反如果没有左孩子,那么 它一定 ...
- 代码实现求二叉树结点数和叶子结点数(C语言)
本篇会用到之前讲过的二叉树三种遍历方法的代码实现,当然这里还会再写一遍,可以先去看这篇博客二叉树的概念及三种遍历方法(C语言)_Perfectkn的博客-CSDN博客 目录 两种方法求二叉树结点总个数 ...
- 天梯选拔:先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数
思路分析: 这道题考察二叉树的建立以及二叉树的前序遍历.中序遍历和后序遍历.首先按照先序建立二叉树.在这期间需要先建立一个结构体,包括当前节点的值,以及它的左儿子和右儿子.注意这里不能直接存左儿子和右 ...
- 数据结构,计算二叉树叶子结点数 C语言实现
树的存储结构 typedef struct BiTNode {char data;struct BiTNode* lchild, * rchild; }BiTNode, * BiTree; 代码实现 ...
- 数据结构:二叉树的创建,打印前中后序遍历,节点个数,叶子节点数,销毁,第K层中节点的个数,查找值为x的节点
二叉树遍历:按照某种特定的规则,依次对二叉树中的节点进行相应的操作,并且每个节点只操作一次.(采用递归思想) 先序遍历:先遍历根节点,再遍历根节点的左子树,最后遍历根节点的右子树. 中序遍历:先遍历左 ...
最新文章
- 中国式离婚中,林与宋离婚成为定局的时刻
- Intellij IDEA 导入或运行流式处理框架storm以及java.lang.NoClassDefFoundError报错的解决方案
- 2020年中职学计算机有前途吗,2020年南昌中专计算机专业都学什么
- CentOS7.5 Linux搭建全文检索--Solr7.4.0单机服务
- 《Linux编程》学习笔记 ·003【Shell编程】
- android4.2 高用zing拍照后,返回其它页面操作时,主线程关掉或程序退出的问题解决...
- 简单算法系列之完数的计算
- pyqt5 登录窗口调用主窗口
- macbookpro bootcamp win10 蓝牙鼠标卡顿解决方案
- 什么软件可以压缩图片大小?这几个软件值得收藏
- 爬取m3u8格式文件并下载ts文件转换为MP4文件
- SpringBoot 整合ActiveMQ
- 【Flutter实战静态页面】--在线点餐app(1)顶端栏
- 入职快两个月的一些感悟
- Linux虚拟地址和物理地址的映射
- bootstrap3的jumbotron和glyphicon glyphicon-*的用法
- centos下配置wifi连接
- 基于LSTM的情绪分析
- Android中使用shape自定义纯色图片总结
- 城中村水费一吨5元,电费一度1.5元,很贵,而我只能选择城中村