统计二叉树结点个数(C语言)

2023-11-12

函数接口定义:

int NodeCount ( BiTree T);

T是二叉树树根指针,函数NodeCount返回二叉树中结点个数,若树为空,返回0。

裁判测试程序样例:

#include <stdio.h>
#include <stdlib.h>

typedef char ElemType;
typedef struct BiTNode
{
	ElemType data;
	struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

BiTree Create();/* 细节在此不表 */

int NodeCount ( BiTree T);

int main()
{
	BiTree T = Create();
	
	printf("%d\n", NodeCount(T));
	return 0;
}
/* 你的代码将被嵌在这里 */

别忘了 +1(根节点)

int NodeCount ( BiTree T)
{
	if(T==NULL) return 0;
	else return NodeCount(T->lchild) + NodeCount(T->rchild) + 1;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

统计二叉树结点个数(C语言) 的相关文章

随机推荐

  • 第七届蓝桥杯省赛C++A/B组 最大比例

    X星球的某个大奖赛设了 M 级奖励 每个级别的奖金是一个正整数 并且 相邻的两个级别间的比例是个固定值 也就是说 所有级别的奖金数构成了一个等比数列 比如 16 24 36 54 其等比值为 3 2 现在 我们随机调查了一些获奖者的奖金数
  • sprintf, snprintf, _snprintf, sprintf_s 等的区别

    先放结论 1 在支持snpritf的编译器 只使用int snprintf char buffer size t count const char format argument 无论成功或者失败 都会返回字符串的总长度 不包括结束符 如果
  • 计算机网络之网络层

    网络层涉及的问题 1一般是网关 18 是外网 内网有两类 1 存储转发包交换 2 提供给传输层的服务 3 非连接服务的实现 4 面向连接服务的实现 5 虚电路和数据包的比较 OSPF开放式最短路径优先 自治域 cisco路由器 4种延迟 传
  • 批量修改文件夹名称——规则重命名(Excel+Python脚本两种方式)

    批量修改文件夹名称 场景 在进行神经网络训练的时候 有些时候获取到的数据集的命名是不规则的 不便于直观理解数据的结构 由此需要进行批量重命名 本文提供Excel Python脚本两种方式 Excel 如下图所示 文件是命名是乱序无规则的 在
  • QT信号槽跨线程传递QDataStream问题

    第一点 查看QDataStream类 可以发现这一句 Q DISABLE COPY QDataStream Q DISABLE COPY是QT的一个宏 顾名思义 意思为禁用拷贝构造函数 如果要知道这个宏的实现 可以继续F2 所以第一个结论
  • Android 全局异常处理之UncaughtExceptionHandler

    在日常开发中可能有需要将机器奔溃日志保存本机 以便保存到本地 那么该如何做呢 实现UncaughtExceptionHandler接口 public class ApplicationCrashHandler implements Thre
  • upload-labs 环境搭建(docker)

    1 切换到root用户 2 在docker镜像仓库搜索upload labs镜像 3 下载镜像 4 查看本地镜像库 看是否下载成功 如下图就有了下载的镜像 5 运行镜像 生成镜像 docker run d p92 80 镜像id 92端口是
  • Linux学习笔记一:vmware安装Ubuntu虚拟机并进行联网设置

    目录 概述 新建虚拟机 安装Ubuntu 安装后重启失败 联网设置 修改分辨率 概述 主要参考讯为的教程 没有使用讯为提供的镜像 为了自己动手把相关工具安装一遍 采用了官方的Ubuntu18镜像 过程中与教程难免存在差异 遇到问题再针对解决
  • 总结:Git 撤销操作

    1 还未添加到暂存区 git checkout filename 执行命令后 会回退到未修改之前的状态 2 已经添加到暂存区 git reset HEAD filename 执行命令后 会回退到工作区之前的状态 3 已经 commit 但是
  • 以太坊Python智能合约开发指南

    在以太坊上获得一个基本的智能合约是一个很简单的事 只需google查询 ERC20代币教程 你会发现有关如何做到这一点的大量信息 以编程方式与合约交互完全是另一回事 如果你是一个Python程序员 那么教程就很少 所以写这个Python中的
  • Adaptive让 Spark SQL 更高效更智能

    本文转发自技术世界 原文链接 http www jasongj com spark adaptive execution 1 背景 前面 Spark SQL Catalyst 内部原理 与 RBO 与 Spark SQL 性能优化再进一步
  • 期权套期保值

    同种商品期货价格走势与现货价格走势方向基本一致 同涨同跌 而在临近到期日时 期货价格相对现货价格通常会呈现回归 在此基础上 再根据方向相反 数量 相等 月份相同或相近的操作原则进行交易 套期保值的意义 投资者进行套期保值的最终目的是规避或者
  • 浏览器可直接访问 Dubbo、gRPC 后端微服务,Dubbo-js 首个alpha 版本来了!

    基于 Dubbo3 定义的 Triple 协议 你可以轻松编写浏览器 gRPC 兼容的 RPC 服务 并让这些服务同时运行在 HTTP 1 和 HTTP 2 上 Dubbo TypeScript SDK 1 支持使用 IDL 或编程语言特有
  • 华为OD机试真题-信号发射和接收【2023Q2】【JAVA、Python、C++】

    题目描述 有一个二维的天线矩阵 每根天线可以向其他天线发射信号也能接收其他天线的信号 为了简化起见 我们约定每根天线只能向东和向南发射信号 换言之 每根天线只能接收东向或南向发送的信号 每根天线有自己的高度anth 各根天线的高度存储在一个
  • k8s资源类型详解

    k8s资源类型 一 k8s资源类型简介 二 deployment资源类型 三 service资源类型 四 k8s资源的回滚操作 五 用label控制pod的位置 六 namespace简介 七 pod资源类型 八 健康检测的相关应用 九 R
  • 网络爬虫是什么

    作为一家大数据公司的运营小编 经常会有人问我 诶 你说的爬虫是什么呀 爬虫的用途是什么呀 你们公司是卖爬虫的吗 有蜥蜴吗 等一系列问题 面对这些问题 小编是绝望的 那么爬虫到底是什么呢 一 爬虫是什么 以下是百度百科上对于网络爬虫的定义 网
  • Qt内存泄露(总结)

    一 简介 Qt内存管理机制 Qt 在内部能够维护对象的层次结构 对于可视元素 这种层次结构就是子组件与父组件的关系 对于非可视元素 则是一个对象与另一个对象的从属关系 在 Qt 中 在 Qt 中 删除父对象会将其子对象一起删除 C 中del
  • RColorBrewer

    1 RColorBrewer工具包 该包是R中常用的颜色选取工具包 它具有简单易用的特点 对于不具备太多色彩理论的读者来说也十分友好 虽然该包主要是为地图上色而设计 但也可以用于其他用途 library RColorBrewer 下面就逐一
  • 宝来车联网显示服务器开小差,思域请靠边站,比亚迪秦Pro在此!还有导航路况信息显示、车联网 快来瞧瞧!...

    由于各地政策的不同 燃油车和新能源车在各地的发展情况也有所不同 接下来要讲得两辆汽油车还不错 分别是秦Pro和宝来 让我们来一起了解一下吧 车型 比亚迪秦Pro 2018款 1 5TI 自动智联锋尚型 国V 指导价 9 98万元 2020
  • 统计二叉树结点个数(C语言)

    函数接口定义 int NodeCount BiTree T T是二叉树树根指针 函数NodeCount返回二叉树中结点个数 若树为空 返回0 裁判测试程序样例 include