16数据结构—求二叉树的深度(高度)

18 篇文章 0 订阅
订阅专栏

思路:

运用deth作为树的深度,用deth1为左子数遍历层次次数,deth2为右子树遍历层数次数,之后进行比较,较大的作为deth树的深度。

举例: 

代码实现:

#include <iostream>
using namespace std;
typedef struct My_tree {
	char data;
	struct My_tree* lson;
	struct My_tree* rson;
}mytree;
int deth_tree(mytree* root);
//创建二叉树
void Create_tree() {
	mytree node1 = { 'A',NULL,NULL };
	mytree node2 = { 'B',NULL,NULL };
	mytree node3 = { 'C',NULL,NULL };
	mytree node4 = { 'D',NULL,NULL };
	mytree node5 = { 'E',NULL,NULL };
	mytree node6 = { 'F',NULL,NULL };
	mytree node7 = { 'G',NULL,NULL };
	mytree node8 = { 'H',NULL,NULL };
	node1.lson = &node2;
	node1.rson = &node6;
	node2.rson = &node3;
	node3.lson = &node4;
	node3.rson = &node5;
	node6.rson = &node7;
	node7.lson = &node8;
	
	cout << "树的深度:" << deth_tree(&node1) << endl;

}
int deth_tree(mytree* root) {
	if (root == NULL) {
		return 0;
	}
	int deth = 0;
	int deth1=deth_tree(root->lson);//左子树遍历
	int deth2=deth_tree(root->rson);//右子树遍历
	 deth = deth1 > deth2 ? deth1+1 : deth2+1;因为结束时返回0,所以要加1表示返回次数
	 return deth;
}

int main() {
	Create_tree();

	return 0;
}

运行效果:

二叉树深度高度_二叉树高度深度
culing2941的博客
09-17 7837
In this tutorial, we will learn how to find height and depth of binary tree with program implementation in C++. It is one of the most commonly used non-linear data structures. We will learn about: 在本...
数据结构二叉树(带图详解)
xu_haopeng的博客
11-01 1万+
目录 树的概念和结构 树的概念 树的表示形式 二叉树 二叉树的概念 两种特殊的二叉树 1、满二叉树 2、完全二叉树 二叉树的性质 二叉树的存储 二叉树的遍历 1. 前中后序遍历 还原二叉树 2、层序遍历 二叉树的基本操作 树的概念和结构 树的概念 树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看 起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 它具有以下的特点: 有一个特殊的结点,称为根结点...
数据结构算法——二叉树深度
beilizhang的博客
09-02 9883
使用递归算法二叉树深度 计算二叉树深度,一般都是用后序遍历,采用递归算法,先计算出左子树的深度,再计算出右子树的深度,最后取较大者加1即为二叉树深度 struct TreeNode { int data; TreeNode* left=nullptr; TreeNode* right=nullptr; }; int TreeDepth(TreeNode* root) { if (!root) { return 0; } int left_height = TreeDepth(ro
二叉树深度
雾潋的博客
04-27 233
采用先序法建立一棵二叉树设计二叉树深度二叉树的数据域类型为字符型,扩展二叉树的叶子结点用‘#’表示,要可以多棵二叉树深度,当二叉树深度为0时程序结束。循环输入多棵扩展二叉树的先序遍历序列,每棵树占一行,以回车结束,每棵二叉树中结点之间以空格隔开。输出各二叉树深度,每次输出后面都换行。二叉树深度
数据结构】计算二叉树深度完整C语言代码
热门推荐
九芒星的博客
07-30 2万+
二叉树深度的计算<数据结构>二叉树深度计算完整代码展示程序结果 二叉树深度计算 我们先看一个深度为3的二叉树。想得此二叉树深度,先计算左孩子深度,再计算右孩子深度,比较得出最大值,即二叉树深度。 通过先序序列键盘输入一个二叉树 ABD##E##CF###。 设计算法则先遍历二叉树的左子树的深度,然后再遍历二叉树右子树的深度。最后判断左子树和右子树的深度,如果左子树比右子树深则返回左子树深度+1,否则返回右子树深度+1。 完整代码展示 #include <stdio.h> #in
数据结构——二叉树遍历的应用(计算二叉树深度、统计二叉树结点总数、统计二叉树叶子结点数)
m0_58606642的博客
12-06 507
cout << "二叉树未建立,请重新选择\n\n";cout << "二叉树未建立,请重新选择\n\n";cout << "二叉树未建立,请重新选择\n\n";cout << "二叉树未建立,请重新选择\n\n";cout << "二叉树未建立,请重新选择\n\n";cout << "请输入建立二叉链表的序列:\n";cout << "二叉树结点总数为:";cout << "二叉树深度为:";cout << "5.统计二叉树叶子结点数\n";cout << "6.中序遍历的非递归实现\n";
数据结构】树和二叉树详细分析(全)
码农研究僧的博客
06-23 9724
树的定义 树(Tree)是n(n>=0)个结点的有限集,它或为空树(n= 0); 或为非空树,对于非空树T: (1)有且仅有一个称之为根的结点; (2)除根结点以外的其余结点可分为 m(m>O)个互不相交的有限集 T1 T2 , …Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。 树的基本术语 ...
合工大数据结构实验 二叉树
04-14
本实验的主题是“二叉树”,这是数据结构中一个基础且重要的概念。二叉树是一种非线性的数据结构,由节点(或称为顶点)组成,每个节点最多有两个子节点,通常称为左子节点和右子节点。这个实验旨在帮助学生深入理解...
数据结构-二叉树基础.pdf
最新发布
04-15
### 数据结构二叉树基础知识点详解 #### 一、二叉树基本概念 **二叉树**是一种特殊的树形结构,在计算机科学中被广泛应用于数据存储和检索中。二叉树具有以下特点: 1. **节点(Node)**:二叉树中的每一个元素...
数据结构二叉树详解
qq_52989768的博客
08-20 4781
树是一种非线性的数据结构,是由多个节点组成的有层次关系的集合,看起来就像一颗倒挂的树,如下图:树中有一个节点没有前驱节点,这个节点称为根节点除根节点外,其余的节点又可以看成多个互不相交的集合,每一个集合就是一颗子树。
二叉树深度(后序遍历)
10-13
C语言的, 数据结构的作业 二叉树深度(后序遍历)
数据结构中求二叉树高度和宽度C++代码
01-05
数据结构中求二叉树高度和宽度C++代码,比较适合初学者
数据结构-二叉树深度计算及平衡二叉树(AVL树)
2302_80362563的博客
02-01 660
LR型:取最后一个结点作为双亲,将双亲作为左孩子,双亲的双亲作为右孩子,原先的左孩子作为双亲的右孩子,右孩子作为双亲的双亲的左孩子。RL型:取最后一个结点为双亲,原先的双亲作为自己的右孩子,双亲的双亲作为左孩子,自己的右孩子作为双亲的左孩子,左孩子作为双亲的双亲的右孩子(和上面反过来),同先LL调整再RR调整结果相同。计算二叉树深度一般利用后序遍历法(左->右->根),先递归出左右子树深度,再取最大值加1返回给双亲树,这样出的其实是树的高度,但由于深度高度数值相等,所以可以直接利用。
数据结构上机实验——二叉树的实现、二叉树遍历、二叉树深度/节点数目/叶节点数目、计算二叉树度为1或2的节点数、判断二叉树是否相似
Crocodile1006的博客
10-29 1940
数据结构二叉树、创建一颗二叉树、对这棵二叉树进行遍历、二叉树深度/节点数目/叶节点数目、计算二叉树中度为 1 或 2 的结点数、判断2棵二叉树是否相似,若相似返回1,否则返回0
数据结构二叉树深度算法
没有感情的代码机器的博客
10-18 7985
二叉树深度,方法是先出左子树的深度,再出右子树的深度二叉树深度就是左子树的深度和右子树的深度中的最大值加1. 自然而然想到用后根遍历的思想实现 主要步骤如下: 若二叉树为空,则返回0值,否则 左子树的深度右子树的深度; 将左子树、右子树深度的最大值加1并返回其值。 //二叉树深度算法 public int getDepth(BiTreeNode T) { if...
数据结构——二叉树深度
qq_33713592的博客
05-26 1677
一、二叉树的最大深度 int maxDepth(TreeNode *root) { if(root == NULL) return 0; int left = maxDepth(root->left) int right = maxDepth(root->right) return l...
数据结构二叉树深度计算
千寻瀑
08-05 3122
数据结构之二叉数深度计算原理代码 原理 本质上就是二叉树的遍历过程 分别遍历左右子树,取大的即可 二叉数树深度 = max(左子树深度,右子树深度) + 1 代码 //二叉数深度计算 int treeDepth(BiTree T){ if(T == null) return 0; else{ int l = treeDepth(T->lchild); int r = treeDepth(T->rchild); r
数据结构二叉树的最大深度
阳阳的博客
11-02 1万+
二叉树的最大深度 二叉树的最大深度二叉树高度,一般有两个解法,第一种是递归,代码简单,但不太好理解。第二种是使用层序遍历的方式,记录每层的节点数,遍历完一层,层数计数器加一。 一、递归 想要一颗二叉树高度,即孩子节点的最大深度,要么是左孩子,要么是右孩子,那么我们只需要对传入的孩子节点递归调用即可。 ...
数据结构)树的深度/高度
sc179的博客
09-16 4105
树的深度/高度:树从根结点开始往下数,叶子结点所在的最大层数称为树的深度/高度。 树的深度/高度涉及到结点的层数,有的教材规定根结点在第0层,有的则规定根结点在第1层。原理都是一样的,因教材而异。 / 根节点是第0层 根节点是第1层 最大层数 4 5 深度 4 5 高度(=深度) 4 5 ...
二叉树与其他树数据结构深度解析
二叉树的性质包括高度深度、完全二叉树和满二叉树的概念。二叉树的表示方法通常采用链式存储,每个节点包含指向其子节点的引用。 在二叉树的操作中,我们关注插入、删除和查找等基本操作。二叉树的遍历是访问所有...
写文章

热门文章

  • Microsoft Visual Studio 2022 项目打包详细步骤(初学者必会) 28262
  • C语言文件操作(简洁且生动版)—代码解析 692
  • 16数据结构—求二叉树的深度(高度) 378
  • 15数据结构—树的递归遍历求叶子结点 358
  • STL常用容器 349

分类专栏

  • JAVA实习
  • C++ 15篇
  • 数据结构与算法 18篇
  • Visual Studio 2022 1篇

最新评论

  • Microsoft Visual Studio 2022 项目打包详细步骤(初学者必会)

    AicyLove: 问题解决了,可能是因为ico文件名称太长了

  • Microsoft Visual Studio 2022 项目打包详细步骤(初学者必会)

    AicyLove: 贴主,请教一下,我在选择图标之后点击ok,第二个需要点ok的界面没有出现预览图标,进而无法及in行后续步骤,请问有解决方案吗,我目前觉得是图标尺寸的问题,但更改后还是无法解决

  • Microsoft Visual Studio 2022 项目打包详细步骤(初学者必会)

    m0_57255920: 博主想问一下如果想打包sql server的内容也可以用这个吗

  • 数据结构基本概念

    CSDN-Ada助手: 恭喜您撰写第17篇博客!标题“数据结构基本概念”听起来非常有趣和有学习价值。您对数据结构的解释和基本概念的介绍一定会对读者们有所帮助。 在接下来的创作中,我想建议您可以考虑进一步深入探讨各种数据结构的应用场景和实际案例。这样的内容会使读者更加容易理解和应用它们。当然,这只是一个建议,您可以根据自己的兴趣和经验来选择下一篇博客的主题。 再次恭喜您,并期待您未来更多精彩的博客文章!

  • 01数据结构与算法——动态数组的搭建

    CSDN-Ada助手: 非常恭喜您写完了第18篇博客!标题听起来很有趣,我相信您一定对动态数组的搭建有了深入的了解。您的持续创作精神真是令人钦佩,能够坚持写下去并分享给大家,对读者来说也是一种福音。 在下一步的创作中,我建议您继续保持谦虚的态度,因为学无止境嘛!或许您可以考虑分享一些关于不同数据结构与算法的比较和应用场景,这样读者在实际问题中能更好地选择合适的方法。无论您选择写下什么,我相信您的内容一定会给读者带来新的启发和帮助。期待您的下一篇博客!

大家在看

  • 一文读懂 JS 中的 Map 结构 857
  • 机器学习和深度学习的区别 465
  • 【开源免费】基于SpringBoot+Vue.JS影城管理系统(JAVA毕业设计) 228
  • 科普文:软件架构数据库系列之【MySQL 8.0新特性--函数索引functional indexes】
  • 基于多时段动态电价的电动汽车有序充电策略优化(Matlab代码实现) 242

最新文章

  • C语言文件操作(简洁且生动版)—代码解析
  • 数据结构与算法—排序算法总结
  • 17数据结构—二叉树的拷贝和构造
2023年35篇
2022年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家玻璃钢雕塑 徐州杭州玻璃钢人物雕塑制作厂家商场美陈制作工厂玻璃钢仿真雕塑哪里做便宜扬州不规则玻璃钢花盆吉林个性化玻璃钢雕塑定制广宁玻璃钢卡通雕塑怀集县玻璃钢雕塑户内玻璃钢雕塑公司海洋馆门头玻璃钢雕塑上海走廊商场美陈市场价嘉兴玻璃钢雕塑玻璃钢雕塑服务价格新密玻璃钢仿真雕塑孟州商场美陈造景玻璃钢斑马雕塑附近校园玻璃钢景观雕塑价格浏阳玻璃钢雕塑上海商场创意商业美陈怎么做江西景区玻璃钢雕塑哪家便宜白象玻璃钢雕塑呈贡玻璃钢雕塑加工公司精准推荐郑州特色玻璃钢雕塑制作商场里打造教室类型美陈许昌玻璃钢铜雕塑室外不锈钢玻璃钢景观雕塑价格玻璃钢雕塑加工厂特别推荐楚雄市玻璃钢雕塑批发天津景区玻璃钢雕塑定制银川公园玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化