二叉树叶节点个数,节点个数

文章目录

    • 一、计算二叉树节点个数
    • 二、叶节点的个数

引言:补充树的概念

节点的度:一个节点含有的子树的个数称为节点的度
叶节点或终端节点:度为0的节点称为叶节点
节点的层次:从根开始为第一层,以此类推
树的度:一个树中最大节点的度为树的度
树的深度或高度:树中节点最大的层次称为度

一、计算二叉树节点个数

int BTreeSize(BTNode* root)
{//用前序来遍历if (root == NULL)return 0;return BTreeSize(root->left) + BTreeSize(root->right) + 1;
}
int main()
{BTNode* node1 = BuySTNode(1);BTNode* node2 = BuySTNode(2);BTNode* node3 = BuySTNode(3);BTNode* node4 = BuySTNode(4);BTNode* node5 = BuySTNode(5);BTNode* node6 = BuySTNode(6);node1->left = node2;node1->right = node4;node2->right = node5;node2->left = node3;node4->left = node6;printf("%d", BTreeSize(node1));return 0;
}

在这里插入图片描述
在这里插入图片描述

二、叶节点的个数

int BTreeLeafSize(BTNode* root)
{if (root == NULL)return	0;if (root->left == NULL && root->right == NULL)return 1;return BTreeLeafSize(root->left) + BTreeLeafSize(root->right);}

递归思路如下
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Web - 框架 - Vue】随笔 - 通过CDN的方式使用VUE 2.0和Element UI

通过CDN的方式使用VUE 2.0和Element UI - 快速上手 VUE 网址 https://cdn.bootcdn.net/ajax/libs/vue/2.7.16/vue.js源码 https://download.csdn.net/download/HIGK_365/88815507测试 代码 <!DOCTYPE html> <html lang"en"> <head><meta …

探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式

目录 前言一、 单机模式二、 伪分布式模式三、 完全分布式模式&#xff08;重点&#xff09;3.1 准备工作3.2 配置集群3.2.1 配置core-site.xml 文件3.2.2 配置hdfs-site.xml 文件3.2.3 配置yarn-site.xml 文件3.2.4 配置mapred-site.xml 文件 3.3 启动集群3.3.1 配置workers3.…

b站小土堆pytorch学习记录——P14 torchvision中的数据集使用

文章目录 一、前置知识如何查看torchvision的数据集 二、代码&#xff08;附注释&#xff09;及运行结果 一、前置知识 如何查看torchvision的数据集 &#xff08;1&#xff09;打开官网 https://pytorch.org/ pytorch官网 &#xff08;2&#xff09;打开torchvision 在Do…

第十四届蓝桥杯大赛B组 JAVA 蜗牛 (递归剪枝)

题目描述&#xff1a; 这天&#xff0c;一只蜗牛来到了二维坐标系的原点。 在 x 轴上长有 n 根竹竿。它们平行于 y 轴&#xff0c;底部纵坐标为 0&#xff0c;横坐标分别为 x1, x2, …, xn。竹竿的高度均为无限高&#xff0c;宽度可忽略。蜗牛想要从原点走到第 n 个竹竿的底部也…

【笔记版】edgecore.yaml分析总结

1. 文件路径 /etc/kubeedge/config edgecore.yaml是该目录下唯一的文件 附上链接&#xff1a;edgecore.yaml 2. 文件生成方式 2.1 方式一 使用keadm安装部署的方式&#xff0c;执行完keadm join --cloudcore-ipportcloudcore监听的IP地址:端口&#xff08;默认为10002&…

Jmeter基础使用---Token鉴权接口关联

接口测试流程&#xff1a; 查看API接口文档&#xff0c;熟悉接口业务&#xff08;地址、端口、参数、鉴权、状态码&#xff09;设计接口测试用例&#xff08;正例&#xff1a;正确的结果&#xff1b;反例&#xff1a;鉴权异常、参数异常、兼容异常、其他异常&#xff09;使用接…

【STM32+HAL】七针OLED(SSD1306)配置(SPI版)

一、前言 关于四针OLED的I2C版配置方式&#xff0c;请转至【STM32HAL】OLED显示初始化配置 二、实现功能&#xff1a; 用SPI通信方式初始化OLED显示&#xff08;相较于I2C速度更快&#xff09; 三、方法一&#xff1a;硬件SPI通信 1、打开SPI通信&#xff08;仅传输&#xf…

Docker基础教程 - 1 Docker简介

更好的阅读体验&#xff1a;点这里 &#xff08; www.doubibiji.com &#xff09; 1 Docker简介 Docker是一个强大的容器化平台&#xff0c;让你能够更轻松地构建、部署和运行应用程序。 下面我们来学习 Docker。 1.1 Docker是什么 1 现在遇到的问题 每次部署一台服务器&…

春招!启动了

大家好&#xff0c;我是洋子。今年的春招很多企业已经开始招聘了&#xff0c;像美团今年继续发力&#xff0c;24届春招以及25届暑期转正实习一共招聘4000人。另外&#xff0c;阿里&#xff0c;京东&#xff0c;顺丰等公司也已经开始春招&#xff0c;可以说招聘的号角已经正式吹…

Python并发编程:协程介绍

一 引子 1 2 3 基于单线程来实现并发&#xff0c;即只用一个主线程&#xff08;很明显可利用的CPU只有一个&#xff09;情况下实现并发&#xff0c;先回顾一下并发的本质&#xff1a;切换保存状态 CPU正在运行一个任务&#xff0c;会在两种情况下切走去执行其它的任务&#x…

IOC中Bean的生命周期

生命周期的各个阶段&#xff1a; 可以分为三个阶段&#xff1a;产生-使用-销毁 又可以分四个阶段&#xff1a;四个阶段 实例化 ->属性注入->初始化 ->销毁 实例化后到使用的初始化过程&#xff1a; 属性赋值 ->处理各种Aware接口->实现BeanPostProcessor的b…

【大厂AI课学习笔记NO.66】TensorFlow

TensorFlow 这个框架&#xff0c;实在是太有名了&#xff0c;最近周红衣都在大力的宣传和讲解。 他说的是对的&#xff0c;人工智能&#xff0c;就是大力出奇迹&#xff0c;就是大量的算力&#xff0c;大量的数据&#xff0c;加上模型的加持&#xff0c;实现的智能感觉。 Goog…