【考研数据结构代码题4】求树中度为1的结点数(递归方式)

news2024/9/21 4:35:45

题目:用C语言描述树的孩子兄弟链表结构,并编写递归程序求树中度为1的结点数

难度:★★

算法思路:递归地遍历当前结点的左孩子子树与右兄弟子树,分别求二者中度为1的结点数记为h1,h2,若当前结点仅有1个结点,(即左孩子没有右兄弟时)那么总的度为1的结点数为sum1+sum2+1,否则为sum1+sum2

 

//树的左孩子右兄弟链表结构
typedef struct node{
	int data;
	struct node *lchild,*rbro;//lchild表示左孩子,rbro表示右兄弟 
}node; 
//统计树中度为1的结点树
int SumOneDegree(node *Tree){
	int sum1,sum2;//分别代表当前结点左孩子、右兄弟子树中度为1的总结点数
	//判空 
	if(!T){
		return 0;
	}else{
		sum1=SumOneDegree(Tree.lchild);
		sum2=SumOneDegree(Tree.rbro);
		//判断当前结点是否只有一个孩子,若是则度为1 
		if(Tree.lchild&&!Tree.lchild.rbro){
			return (sum1+sum2+1);
		}else{
			return (sum1+sum2);
		}
	} 
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1193762.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

好用的vscode插件

一、代码管理 git GitLens — Git supercharged Git History gitignore 项目管理 Project Manager 管理多个项目 Todo Tree 快速定位代码中的todo WakaTime 用于在编程活动中自动统计工作量、代码提交和时间跟踪等 VS Code Counter 该插件用于帮助我们统计项目代码的行数…

防火墙部署模式 -- 单臂路由模式

防火墙单臂路由部署模式 如图,PC 1与PC 2通信,想在中间加上防火墙对其进行监控,并实现对两台设备的通信阻断,可以在交换机的另一个接口上连接防火墙,交换机将两台PC发送的数据引流到防火墙上,防火墙也配置下…

virtualBox虚拟机局域网访问配置

在VirtualBox中,桥接网络是一种网络连接类型,它允许虚拟机连接到物理网络上的路由器或交换机,在物理网络上获得独立的网络地址和访问权限。 一、设置VirtualBox桥接网络的步骤: 打开VirtualBox软件,并选择你想要配置…

P1547 [USACO05MAR] Out of Hay S 题解

文章目录 题目描述输入格式输出格式样例样例输入样例输出 完整代码 题目描述 Bessie 计划调查 N N N( 2 ≤ N ≤ 2 000 2 \leq N \leq 2\,000 2≤N≤2000)个农场的干草情况,它从 1 1 1 号农场出发。农场之间总共有 M M M( 1 ≤…

Matlab导出高清图片方法

一、背景 使用matlab绘制图片后,需要将图片导出为.jpg或.eps格式以便后期使用。但通过文件–另存为.jpg时,并没有清晰度选择,导出的图片只有30几k,以至于图片很模糊。 二、Matlab导出高清图片方法 文件—导出设置 1、大小&…

kubernetes etcd

目录 一、备份 二、回复 官网: https://v1-25.docs.kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/#restoring-an-etcd-cluster 一、备份 从镜像中拷贝etcdctl二进制命令 输入ctrlpq快捷键,把容器打入后台 docker run…

opencv dnn模块 示例(22) 目标检测 object_detection 之 yolov7

在YOLOv6 初版出来不久,YOLOv7就立马横空出世了。与YOLOv5、YOLOv6不同,YOLOv7是由YOLOv4团队的原班人马提出的(官方出品)。从论文的表上来看,目前YOLOv7无论是在实时性还是准确率上都已经超过了当时已知的所有目标检测…

【二叉树】如何构建一个包含大量随机数节点的二叉树测试用例

【二叉树】如何构建一个包含大量随机数节点的二叉树测试用例 前言一、案例准备二、自动生成随机二叉树工具类(TreegenerateUtils)三、如何调用随机二叉树工具类(TreegenerateUtils)? 前言 今天笔者在测试有关二叉树的…

打开ps提示,计算机中丢失d3dcompiler_47.dll怎么解决?

“d3dcompiler_47.dll丢失5个解决办法”。相信很多同事在工作或者娱乐的过程中,都遇到过这个错误提示。那么,究竟什么是d3dcompiler_47.dll文件?为什么会丢失呢?又该如何解决这个问题呢?接下来,我将为大家详…

财税服务展示预约小程序的作用是什么

财税财政往往困扰着很多公司,尤其是公司里没有相应职员或工作压力大的情况下,不少商家就会寻找代理记账、审计服务、会计代理等服务的机构。 对财政服务代理机构(会计公司)来说,市场企业多而广,理论上来说…

yolov5 利用Labelimg对图片进行标注

首先打开yolov5-master,在data文件中新建一个文件夹来存放你需要跑的数据,例如我这次跑的是羽毛球,文件把文件取名为badminton。使用其他文件夹例如images也可以,就是跑多了以后不好整理,然后点击 选中刚刚你存放数据的…

【算法 | 数论 No.1】AcWing1246. 等差数列

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【手撕算法系列专栏】【AcWing算法提高学习专栏】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程&a…

c: struct sort descending and ascending in windows and Ubuntu

/*** file StudentStructSort.h* author geovindu,Geovin Du,涂聚文 (geovindu163.com)* ide: vscode c11,c17 Ubuntu 22.4* brief 结构体排序示例* date 2023-11-05* version 0.1* copyright geovindu 站在巨人的肩膀上 Standing on the Shoulders of Giants**/#ifnd…

easyexcel==省市区三级联动

省市区三级联动,不选前面的就没法选后面的 package com.example.demoeasyexcel.jilian2; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder; import org.apache.poi.ss.use…

​软考-高级-系统架构设计师教程(清华第2版)【第2章 计算机系统基础知识-思维导图】​

软考-高级-系统架构设计师教程(清华第2版)【第2章 计算机系统基础知识-思维导图】 课本里章节里所有蓝色字体的思维导图

MySQL | 查询接口性能调优、编码方式不一致导致索引失效

背景 最近业务反馈,列表查询速度过慢,需要优化。 到正式环境系统去验证,发现没筛选任何条件的情况下,查询需要三十多秒,而筛选了条件之后需要13秒。急需优化。 先说结论:连表用的字段编码方式不一致导致索…

【异常----finally和自定义异常】

文章目录 finally练习问题 异常的处理流程【异常处理流程总结】自定义异常类 finally 有些特定的代码,不论程序是否发生异常,都需要执行,比如程序中打开的资源:在程序正常或者异常退出时,必须要对资源进进行回收。另外…

Halcon Variable Inspect 安装失败

版本 Visual Studio 2022Halcon 20.11 找到Halcon 扩展文件 输入CMD 经过下面博客所示步骤,修改Visual Studio 对应版本 Halcon Variable Inspect 安装失败 替换成功!

混淆矩阵和相应参数详解

如果一个模型在能够尽量捕获少数类的情况下,还能够尽量对多数类判断正确,则这个模型就非常优秀了。为了评估这样的能力,我们将引入新的模型评估指标:混淆矩阵和ROC曲线。 上面是混淆矩阵。接下来我们结合图像解释一下准确率&#…

CSS 文字溢出省略号显示

1. 单行文本溢出显示省略号 需要满足三个条件,添加对应的代码: (1)先强制一行内显示文本; (2)超出的部分隐藏; (3)文字用省略号来替代省略的部分&#xf…