6-5 统计二叉树叶子结点个数 (10 分)(C语言版)
先说思路:
有下面三种情况:
如果是空树,返回0;
如果只有一个根结点,即左右子树为空NULL,返回1;
如果左右子树不空,返回递归求左右子树叶子结点之和。
本题要求实现一个函数,可统计二叉树的叶子结点个数。
函数接口定义:
int LeafCount ( BiTree T);
T是二叉树树根指针,函数LeafCount返回二叉树中叶子结点个数,若树为空,则返回0。
裁判测试程序样例:
#include <stdio.h>
#include <stdlib.h>typedef char ElemType;
typedef struct BiTNode
{ElemType data;struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;BiTree Create();/* 细节在此不表 */int LeafCount ( BiTree T);int main()
{BiTree T = Create();printf("%d\n", LeafCount(T));return 0;
}
/* 你的代码将被嵌在这里 */
输出样例(对于图中给出的树):
3
int LeafCount ( BiTree T)
{int count=0;if(T==NULL){//空树return 0;}else if(T->lchild==NULL && T->rchild==NULL){//只有一个根节点return count+1;}else {count=LeafCount(T->lchild)+LeafCount(T->rchild);//关系为左右相加求和return count;}
}
6-5 统计二叉树叶子结点个数 (10 分)(C语言版)相关推荐
- 6-2 统计二叉树结点个数 (10分)_数据结构实验5_羊卓的杨
6-2 统计二叉树结点个数 (10分) 本题要求实现一个函数,可统计二叉树的结点个数. 函数接口定义: int NodeCount ( BiTree T); T是二叉树树根指针,函数NodeCount ...
- 7-10 先序序列创建二叉树,输出先序序列、中序序列、后序序列并输出叶子结点数 (10 分)
7-10 先序序列创建二叉树,输出先序序列.中序序列.后序序列并输出叶子结点数 (10 分) 对于给定的二叉树,输出其先序序列.中序序列.后序序列并输出叶子结点数. 输入格式: 二叉树的先序遍历序列. ...
- c语言实现求二叉树叶子结点个数
通过递归求解二叉树叶子结点个数,关键在于递归结束条件的设置. main.c #include<stdio.h>//定义结点类型 typedef struct BINARYNODE {cha ...
- 31行代码AC——PTA 求二叉树的叶子结点个数 (20分)——解题报告
励志用尽量少的代码做高效的表达. 以二叉链表作为二叉树的存储结构,求二叉树的叶子结点个数. 输入格式: 输入二叉树的先序序列. 提示:一棵二叉树的先序序列是一个字符串,若字符是'#',表示该二叉树是空 ...
- 数据结构-二叉树(统计二叉树的结点个数递归与非递归算法)
文章目录 思路 Java 实现 思路 求结点个数为什么能用递归? 二叉树求结点个数,从根结点开始,求二叉树结点个数,对于根结点就是求左右子树所有结点数之和再加一,对于左右子树又是如此计算,这样的形式满 ...
- 树与二叉树——二叉树中计算叶子结点个数问题
1.已知完全二叉树具有967个结点,则其叶子结点个数为: 详解: 首先明确一点该二叉树是一棵二叉树,那可以使用二叉树的一些性质. 从第一层开始计算每层的节点个数:1,2,4,8,16,32,64,12 ...
- 二叉树的进阶操作---(求二叉树中所有结点个数,求叶子结点个数,求第k层结点个数;在二叉树中查找某一结点;层序遍历;判断是否为完全二叉树)
typedef struct TreeNode {struct TreeNode *left;struct TreeNode *right;char val; }TreeNode;typedef st ...
- 入门二叉树,三种遍历,计算结点个数 ,深度 叶子结点个数,第k层结点个数
1.关于二叉树的前中后序快速排序 那就在这里拿这张图来演示一下怎样快速写出中序遍历,我们都知道中序遍历是,左子树,根,右子树 B A C D E F H 最后直接得出结果DBEHACF 2.二叉树的五 ...
- 计算二叉树的第k层中所有叶子结点个数
计算二叉树的第k层中所有叶子结点个数 Time Limit:1000MS Memory Limit:65535K 题型: 编程题 语言: 无限制 描述 二叉链表表示的二叉树:按先序次序输入二叉树中结点 ...
- 【数据结构】——二叉树的创建、计算叶子结点个数、递归遍历
前面我们讲了关于数据结构中的堆栈问题,这篇文章主要是为大家简要介绍一下二叉树,并实现二叉树的创建.计算叶子结点个数.递归遍历.判断是否是完全二叉树等相关问题~ 一.二叉树的介绍 1.什么是二叉树 一棵 ...
最新文章
- C语言编程的几个小注意事项1
- python itchat 的使用
- 用计算机打出圣诞树,手机计算器圣诞树的祝福输入方式,手机计算器圣诞树获得方法...
- 程序员犯的非技术错误(Top 5)
- jQuery attributes(上)
- Unity5 Survival Shooter开发笔记(1)
- 开发运维都不得不知的MySQL索引和查询优化
- Spark 按key聚合求平均值与占比
- 纪念第一次用vscode给go语言配置环境踩坑
- 华创e路航固件_华创e路航地图升级
- gis 联合 融合_GIS空间数据融合方法
- 2G 3G和4G物联网卡之间的区别
- 樱花树下的约定歌词用计算机,樱花树下的约定歌词 可泽、夏凌兮_晴格歌词网...
- 海康威视SDK:NET_DVR_GetDVRConfig failed Device does not support this function
- 套接字相关数据据结构及分层模型
- Warm Audio EQP-WA 电子管均衡器中文视频
- IOS 一些小知识点整理
- 互联网诞生前,苏联最流行的11台个人电脑
- 初探下一代网络隔离与访问控制
- 计算机专业英语2017课后答案,计算机专业英语考试试题及答案
热门文章
- ESP32的智能药箱-WEB定时-舵机和语音控制-OLED实时时间显示
- 草图大师SketchUp2018下载和安装教程
- PyKeyBoardFairy可以替代你游戏中的卡键盘和鼠标宏
- Boost Asio快速入门
- 微型计算机usb接口通常串行,usb是串行接口吗_串行接口和并行接口有什么区别...
- cas 计算器 android,GeoGebra CAS计算器
- IPv6 地址通过ROS 路由器传递
- 简历是html的怎么改成word文档,word简历使用教程.doc
- oppoa79支持手机html,oppo a79驱动
- TAOCP-Reading-计算机程序设计艺术阅读-1-0