求二叉树的深度

article/2025/9/17 0:31:20

题目

写一个算法求一棵二叉树的深度,二叉树以二叉链表为存储结构

求二叉树深度的函数

//求二叉树深度
int getDepth(BTNode *T)
{int LD,RD;//左右子树的深度if(T==NULL){return 0;//设定空树的深度为0}else{//采用后根遍历LD=getDepth(T->lchild);//求左子树的深度RD=getDepth(T->rchild);//求有紫苏的深度return (LD>RD?LD:RD)+1;//三目运算符,返回左右子树中较大的那个,然后加一,这是因为二叉树的根没有计算}
}

#源码

这里用的测试二叉树如下图
在这里插入图片描述
#完整测试程序

#include<iostream>
using namespace std;//二叉树链表结点
typedef struct BTNode{struct BTNode *lchild;struct BTNode *rchild;char data;	//默认数据类型char,若有不同,更改即可
}BTNode;//构造二叉树
BTNode *createbinarytree()	//利用递归思想构造二叉树
{char element;cin>>element;	//输入二叉树的根节点的data值BTNode *T;if(element!='s')	//设置终止条件,s代表stop{T=(BTNode*)malloc(sizeof(BTNode));T->data=element;cout<<"please input the left child node of "<<element<<endl;T->lchild=createbinarytree();cout<<"please input the right child node of "<<element<<endl;T->rchild=createbinarytree();}else{T=NULL;}return T;
}//求二叉树深度
int getDepth(BTNode *T)
{int LD,RD;//左右子树的深度if(T==NULL){return 0;//设定空树的深度为0}else{//采用后根遍历LD=getDepth(T->lchild);//求左子树的深度RD=getDepth(T->rchild);//求有紫苏的深度return (LD>RD?LD:RD)+1;//三目运算符,返回左右子树中较大的那个,然后加一,这是因为二叉树的根没有计算}
}int main()
{BTNode *T;T=createbinarytree();cout<<"the depth of this tree is "<<getDepth(T)<<endl;return 0;
}

测试结果
在这里插入图片描述


http://chatgpt.dhexx.cn/article/N2crg6GF.shtml

相关文章

二叉树的深度遍历

一、深度优先遍历 对于一棵二叉树&#xff0c;深度优先搜索&#xff08;Depth First Search&#xff09;是沿着树的深度遍历树的节点&#xff0c;尽可能深的搜索树的分支。 二、二叉树的深度遍历的三种方法 这三种方法常被用于访问树的节点&#xff0c;它们之间的不同在于访问每…

正则匹配中文数字

正则匹配中文数字 运营导入小说时遇到小麻烦&#xff0c;想要在章节目录前面加一些符号&#xff0c;word等工具搜半天没搜到&#xff0c;就想着用正则匹配试一下&#xff0c; 于是用notepad试了一下&#xff0c;正则匹配中文数字章节。 表达式为&#xff1a;(第[\u4e00-\u9f…

IDEA创建一个maven项目

1.打开IDEA&#xff0c;点击“Create New Project”,创建项目。 2.首先选择“Maven”&#xff0c;然后选择本地配置的JDK&#xff0c;我安装的是JDK 1.8版本,然后next。 3.填写GroupId、ArtifactId&#xff0c;然后next。 4.填写相关信息&#xff0c;然后finish。 5.这时候一个…

maven项目怎么运行

怎么运行Maven项目&#xff1f;Maven来管理大型项目还是很不错的&#xff0c;要运行Maven项目&#xff0c;必须要让开发工具支持Maven&#xff0c;首先要下载Maven项目&#xff0c;然后配置&#xff0c;配置好Maven后&#xff0c;在配置Maven运行参数&#xff0c;需要的朋友看看…

如何创建一个Maven项目

目录 一、Maven是什么&#xff1f;二、Maven的作用三、Maven的下载与安装下载地址:安装:Maven环境变量配置 四、创建一个Maven项目(使用IDEA)添加依赖 一、Maven是什么&#xff1f; Maven 的本质是⼀个项⽬管理⼯具&#xff0c;将项⽬开发和管理过程抽象成⼀个项⽬对象模型&am…

超详细IDEA创建Maven项目

文章目录 一、Maven概述二、创建Maven项目三、Maven项目简单介绍3.1 标准化的项目结构3.2 标准化的构建流程3.3 方便的依赖管理 一、Maven概述 Maven是一个专门用于管理和构建Java项目的工具。我们之所以要使用Maven&#xff0c;是因为Maven可以为我们提供一套标准化的项目结构…

Maven项目的配置

Maven是什么&#xff1f;它的作用是什么&#xff1f; Maven是一种开源的构建工具&#xff0c;它可以自动化构建、测试、部署和管理Java项目。它提供了一个中心化的构建过程&#xff0c;包括依赖管理、项目结构管理、插件管理等&#xff0c;使得开发人员更方便地维护和协作应用…

Eclipse搭建Maven项目

目录 一、创建Maven项目 二、更换Eclipse自带的Maven版本 三、配置Maven仓库 四、更换Maven的jdk版本 五、更改Maven动态Web模块 六、把web2.3修改为web3.0 七、pro.xml文件的作用&#xff1a;加依赖&#xff0c;下载jar包 一、创建Maven项目 1. File -> New -> M…

如何Maven部署、Maven项目导入使用【亲测有效简洁】

Maven 一、Maven部署二、Maven项目导入 一、Maven部署 一、导入maven项目之前&#xff0c;删除掉不相关的&#xff0c;只留了源码src 和 配置文件pom 文件 ★ 重点删除对象&#xff1a;项目中的.idea 和 .iml 文件&#xff0c;以及编译生成的class文件全部删除 ■ 若是从官网…

Maven项目结构

文章目录 1. Maven2.标准化项目结构3. Maven坐标 1. Maven Maven项目对象模型&#xff0c;可以通过一小段描述信息来管理项目的构建&#xff0c;报告和文档的项目管理工具项目管理工具软件 Apache Maven是一个&#xff08;特别是Java编程&#xff09;项目管理及自动构建工具&a…

Eclipse创建maven项目

一.环境 eclipse 2018 64位 &#xff0c;jdk 1.8&#xff0c;maven 3.6&#xff0c;tomcat 8.5 创建前先把上面环境配置好&#xff0c;这里就不详细描述了。 二.创建步骤 1.打开eclipse&#xff0c;file—》new —》project&#xff0c;选择Maven—》Maven Project&#x…

如何创建Maven项目?

1 前言 在创建项目中&#xff0c;IDEA 提供了很多项目模板&#xff0c;比如 Spring MVC 模板&#xff0c;可以直接创建一个基于 Maven 的 Spring MVC 的 demo&#xff0c;各种配置都已经设定好了&#xff0c;直接编译部署就可以使用。 最开始自己创建 maven web 项目时&#xf…

在IDEA中创建maven项目

在IDEA中创建maven项目 现在的JavaWeb项目中&#xff0c;绝大多数都是采用的maven结构的项目&#xff0c;而对于maven支持的最好的IDE开发工具为IDEA,所以说我就以在IDEA上为例来进行maven开发的讲解。 和往常一样&#xff0c;为了避免由于开发工具版本的不同所造成的困扰&…

Maven项目(万字详解!)

1.Maven 1.1 项目管理问题 写项目时&#xff0c;我们需要引用各种 jar 包&#xff0c;尤其是比较大的工程&#xff0c;引用的 jar 包往往有几十个乃至上百个&#xff0c; 每用 到一种 jar 包&#xff0c;都需要手动引入工程目录&#xff0c;而且经常遇到各种让人抓狂的 jar 包…

Maven项目创建教程

Maven项目创建教程 1. 地址和库的配置 a)创建”库”文件 b)设置setting.xml文件 2. 创建“Maven” 项目 3. 三种运行”java”的方式 环境配置 在D盘或其他盘符下创建一个空的文件夹&#xff0c;命名”Repository“&#xff0c;必须是纯英文路径 打开”maven”安装文件路…

idea创建maven项目

1.修改maven主题&#xff1a;file-->settings-->appearance-->theme 2.首先打开IDEA后点击settings ,然后在VM Options内添加-DarchetypeCataloginternal 运行参数 (不做上面操作的话会导致maven 骨架生成速度缓慢到令人发指,卡在running tmp archetypexxxtmp这一步)…

Maven项目搭建

我们回顾一下maven规范的目录结构&#xff1a; 1、手动搭建Maven项目 我们先使用手动的方式来创建maven项目 &#xff08;1&#xff09;在D盘下创建目录mvnproject并进入该目录&#xff0c;作为我们的操作目录 &#xff08;2&#xff09;创建我们的maven项目&#xff0c;创建…

如何创建Maven项目

1.什么是 maven maven是一个构建工具 功能&#xff1a; ① 把编译好的.class文件打包成一个.jar文件 ② 依赖管理&#xff08;一个复杂的程序通常会依赖第三方库&#xff09;使用的时候&#xff0c;需要把对应的jar包下载下来&#xff0c;导入工程中 2.如何创建maven项目 ma…

idea创建maven项目 [超详细]

一、背景。 IDEA是用于java语言开发的集成环境&#xff0c;并且经常用于maven、spring、MyBatis等项目的开发。今天将为大家介绍如何在IDEA中创建Maven项目。 二、idea创建maven项目。 1.首先打开IDEA后点击file->settings ,然后在VM Options内添加 -DarchetypeCatalogi…

Idea中创建maven项目(超详细)

Idea中创建maven项目 提示&#xff1a;前提条件时maven已经安装好&#xff0c;并且环境变量也配置完成&#xff0c;maven没安装好或者环境变量没有配置好的请参考我上一篇文章——maven的安装和配置 上篇博文链接&#xff1a;https://blog.csdn.net/zzvar/article/details/11…