算法分享系列No.5----DFS-- 树的深度 / 平衡树的判定

本文介绍了如何使用深度优先搜索(DFS)算法来计算树的最大和最小深度,并讨论了平衡二叉树的概念。通过DFS,可以有效地解决这些问题,包括在Java中实现的核心函数。此外,还探讨了平衡树的判定,指出当左右子树高度差超过1时,树不是平衡二叉树。
摘要由CSDN通过智能技术生成

目录 

 一、该类题目---基础信息列表

1-1、该类题目在 LeetCode中和牛客 中列表

1-2、基础相关概念:深度、最小深度、平衡二叉树

1-3、该类题目相关以往总结

二、题序号【1】--- 树的深度

2-1、本题考点:【树】【广度优先搜多BFS】

2-2、本题编程练习目标 

2-3、代码具体实现

2-3-1、结构体【树的通用逻辑】

2-3-2、树的【最大】深度--- 核心实现函数 DFS 【JAVA版】

2-3-2、树的【最小】深度--- 核心实现函数 DFS 【JAVA版】

三、题序号【2】--- 平衡树的判定(依赖树的深度计算)  

3-1、本题考点:【树】【广度优先搜多BFS】

3-2、解题思路 ----【自上而下】

3-3、解题思路 ----【自下而上】


 一、该类题目---基础信息列表

  1. 题目难易分类【easy】【middle】【hard】
  2. 题目频率(牛客有考察次数)【高频】(10<=考察次数) 【中频】(2 <=考察次数 < 10) 【普通】

1-1、该类题目在 LeetCode中和牛客 中列表

树的相关判定 LeetCode 牛客【题库--算法篇--面试高频榜单】

题序号【1】

树的深度

104. 二叉树的最大深度

111. 二叉树的最小深度

NC13 二叉树的最大深度【高频】

NC234 二叉树的最小深度 【普通】

难度 & 频次 【easy】 【easy】

题序号【2】

平衡树判定

110. 平衡二叉树

NC62 判断是不是平衡二叉树
难度 & 频次 【easy】 【easy】【高频】

1-2、基础相关概念:深度、最小深度、平衡二叉树

二叉树的深度为:根节点到最远叶子节点的最长路径上的节点数

最小深度:是从根节点到最近叶子节点的最短路径上的节点数量。

平衡二叉树(Balanced Binary Tree),具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。

1-3、该类题目相关以往总结

DFS:深度优先搜索

递归过程,最重要的就是查看能不能讲原本的问题分解为更小的子问题,这是使用递归的关键。

算法分享系列No.4----二叉树的层序遍历(从上到下,从下到上,之字/锯齿/蛇形)_安吉_lh1029的博客-CSDN博客

最低0.47元/天 解锁文章
【PAT】A-1021 Deepest Root【】【深度】【DFS
elegant coder
05-02 879
A graph which is connected and acyclic can be considered a tree. The height of the tree depends on the selected root. Now you are supposed to find the root that results in a highest tree. Such a root ...
深度DFS
qq_42532658的博客
04-21 651
给出各个节点的子结点,求深度 int maxdepth = 0, maxnum = 0; vector<int> v[100010]; //index为根节点的索引,调用前要先找到的根 //v[i]内存储索引为i的节点的子结点们的索引 void dfs(int index, int depth) { if(v[index].size() == 0) { i...
dfs和bfs求二叉深度
qq_36421001的博客
03-20 765
方法一:后序遍历(DFS的后序遍历 / 深度优先搜索往往利用 递归 或 栈 实现,本文使用递归实现。 关键点: 此深度和其左(右)子深度之间的关系。显然,此深度 等于 左子深度 与 右子深度 中的 最大值 +1 。 终止条件: 当 root​ 为空,说明已越过叶节点,因此返回 深度 00 。 递推工作: 本质上是对做后序遍历。 计算节点 root​ 的 左子深度 ,即调用 maxDepth(root.left); 计算节点 root​ 的 右子深度 ,即调用 maxD.
BM28 二叉的最大深度
zhinen丶的博客
03-02 331
描述 求给定二叉的最大深度深度是指的根节点到任一叶子节点路径上节点的数量。最大深度是所有叶子节点的深度的最大值。(注:叶子节点是指没有子节点的节点。) 数据范围:0≤n≤100000,上每个节点的val满足∣val∣≤100 要求: 空间复杂度O(1),时间复杂度 O(n) 示例1 输入:{1,2} 返回值:2 示例2 输入:{1,2,3,4,#,#,5} 返回值:3 代码 /** * struct TreeNode { * int val; * struct TreeNode *left;
二叉深度dfs
永夜莫明的博客
05-02 492
题目描述 输入一棵二叉,求该深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成的一条路径,最长路径的长度为深度。 /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { ...
算法分享系列No.6---DFS--二叉的对称 & 二叉的镜像
尕白白的专栏
05-12 358
一、该题基础信息列表 题目难易分类【easy】【middle】【hard】 题目频率(牛客有考察次数)【高频】(10<=考察次数)【中频】(2 <=考察次数< 10) 【普通】 题序号【1】的对称判定 101. 对称二叉【easy】剑指 Offer 28. 对称的二叉【easy】 NC16对称的二叉【easy】【高频】 题序号【2】的镜像 剑指 Offer 27. 二叉的镜像【easy】 NC72二叉的镜像【easy】【中频】
算法面试-----二叉完整刷题总结
爱喝舒化奶的博客
03-19 3377
题目:输入一颗二叉,返回他的深度(包括最大深度,最小深度) 解题:可以通过DFS,BFS两种方式进行计算 【剑指offer】面试题55 二叉深度 leetcode 104. Maximum Depth of Binary Tree (求二叉的最大深度,DFS,BFS) leetcode 111. Minimum Depth of Binary Tree(求二叉的最小深度DFS,BFS)...
王道考研-数据结构算法
qq_45620825的博客
08-17 2875
目录第一章 绪论第二章 线性表第三章 栈和队列3.1栈3.11栈的基本操作3.1.2栈的顺序存储结构顺序栈链栈3.2队列3.2.1队列的基本概念第四章 串第五章 与二叉第六章 图第七章 查找第八章 排序 第一章 绪论 第二章 线性表 第三章 栈和队列 3.1栈 3.11栈的基本操作 InitStack(&S): 初始化栈。构造一个空栈S,分配内存空间。 DestroyStack(&L): 销毁栈。销毁并释放栈S所占用的内存空间。 Push(&S,x): 进栈,若栈S未满,则将x加
leetcode题库-LeetCode:力扣题库
06-29
2. 算法:包括排序(快速排序、归并排序、冒泡排序等)、查找(线性查找、二分查找、哈希查找)、图算法深度优先搜索DFS、广度优先搜索BFS)、动态规划、贪心算法、回溯法、分治策略等。 3. 动态规划:这是一种...
力扣_二叉深度——dfs
苗_的博客
01-14 348
的遍历方式总体分为两类:深度优先搜索(DFS)、广度优先搜索(BFS) 常见的DFS:先序遍历、中序遍历、后序遍历 常见的BFS:层序遍历(即按层遍历) 求深度需要遍历的所有结点,本文将介绍基于后序遍历(DFS)和层序遍历(BFS)的两种解法 方法一:后续遍历(DFS的后序遍历 、 深度优先搜索往往利用 递归 或 栈 实现 关键点:此深度和其左(右)子深度之间的关系。显然,此深度等于左子深度与右子深度中的最大值 + 1. 算法解析: 终止条件:当root为空,说
二叉的最大深度DFS算法
qq_40653893的博客
09-21 1224
题目描述 给定一个二叉,找出其最大深度。 二叉深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNod...
1021 Deepest Root (25 分) dfs, 好题,形dp,求深度
shen253135371的博客
03-19 79
解体思路 寻找到所有的叶子节点,进行dfs,记录深度,最后输出即可。、 又犯了zz错误,自罚三杯。 代码 #include<cstdio> #include<iostream> #include<algorithm> #include<vector> using namespace std; int n; struct Node{ int v; Node(int v_=0):v(v_){} }; vector<vector<N
求二叉的最小深度DFS深度优先搜索算法
她的坏机器人
08-22 427
要求:求二叉最小深度 算法DFS深度优先搜索算法 几种特殊的情况 空 判断的当前节点为空,则需要返回最小深度为0 只有一个节点 这一个节点就是叶子结点,无需递归,但深度也需要加一 两个结点 根节点的左节点递归一次,深度为2,右节点如果直接递归,递归后会判断当前节点为空,会把最小深度置为0,所以需要判断:当子节点不为空的时候才递归搜索 深度很大 当深度很大的时候,最小深度的值会小于实际数的最小深度,导致最小深度值不变,所以需要为最小深度的初始值设置一个最大的值 代码测试 package com.rob
二叉深度(DFS)
qq_40261882的博客
05-31 378
题目: 输入一棵二叉的根节点,求该深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成的一条路径,最长路径的长度为深度。 解析: 递归,深度遍历(dfs)。 参考答案: /*** * struct TreeNode{ * int val; * TreeNode *left; * TreeNode *right; * }; */ class Solution{ public: int maxDepth(TreeNode *root){ if(root == NULL) ret
PAT-1021. Deepest Root (25)-DFS的最大深度
weixin_30580341的博客
07-26 154
这道题目主要是给你一个图,那么计算从任何一点开始,以此为根节点,的最大深度。不保证图的连通性。 通过率挺低的,应该是那个大数据的测试用例,内存超出的问题卡住了,最大数据是10^4,如果用邻接矩阵的形式保存图形,那么将是n*n的空间复杂度,就是10^8*4B个数据,为4*10^5KB内存,题目是3.2*10^5KB内存,所以内存超出。卡在内存上了。所以我们想到的是用邻接表来保存图,但是我们实现的...
jzoj P1350 游戏___dfs+深度
生如夏花之绚烂
02-01 217
题目大意: BAlice有M1块石子,Bob有M2块石子,游戏一开始,所有石头放在的节点处,除了根。Alice先移然后两人轮流移动,每次移动只能选择自己的一个石子,而且只能从当前位置移到父亲节点处,游戏过程中允许一个节点处放多个石子。 谁先把自己所有的石子移到根处谁就失败了,假设两人都是非常聪明,游戏过程中都使用最优策略,给定石子起始位置,要你计算出谁是赢家。 有T组询问 T 的节
计算二叉深度(高度):深度优先遍历(DFS递归)、广度优先遍历(BFS,层次遍历)
一只攻城狮的博客
11-30 2985
计算二叉深度(高度):深度优先遍历(DFS递归实现)、广度优先遍历(BFS,层次遍历) 先简要概述两种遍历的优缺点: 深度优先搜素算法:不全部保留结点,占用空间少;有回溯操作,运行速度慢。 广度优先搜索算法:保留全部结点,占用空间大; 无回溯操作,运行速度快。 通常深度优先搜索法不全部保留结点,扩展完的结点从数据库中弹出删去,这样,一般在数据库中存储的结点数就是深度值,因此它占用空间较少。所以,当搜索的结点较多,用其它方法易产生内存溢出时,深度优先搜索不失为一种有效的求解方法。 广度优先搜索算
34二叉-BFS和DFS深度
最新发布
Elaine2391的博客
10-25 168
BFS和DFS求二叉深度
ACM-ICPC竞赛必备:算法、数论与数据结构知识点详解
5. **高级算法数据结构**:ACM-ICPC还考察对高级算法数据结构的深入理解,比如AVL、Treap的平衡特性,Splay的自适应性,以及二叉搜索的优化。此外,Trie、二叉查找、堆、优先队列等也是常见题目内容。...
写文章

热门文章

  • 新冠“照妖镜”,体质弱点现原形。你是啥症状?2023年,请好好善待你的身体! 2414
  • MSVCRT.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in functi 2327
  • 21. 合并两个有序链表 1861
  • opencl 初学笔记2- opencl快速入门教程【数据类型规范 , 命名原则】 1796
  • QueryPerformanceFrequency 1721

分类专栏

  • 【523能源】&【电梯节能】能量回馈 30篇
  • 【能源&环保】专栏 6篇
  • 算法专题 3篇
  • 程序员刷题分析成长之路 22篇
  • LeetCode刷题记录 50篇
  • 剑指Offer刷题记录 6篇
  • opencl学习笔记 4篇
  • openGL学习 1篇
  • 学习积累 15篇

最新评论

  • 降碳目标,从【电梯节能】出发,电梯修理升级(节能率15%-45%)

    小伍说-523能源: 了解产品,欢迎私信咨询哦

  • 电梯节能小能手

    小伍说-523能源: 电梯节能,欢迎私询哦

  • 电梯节能 四大措施

    小伍说-523能源: 电梯节能,欢迎咨询

  • 老旧大楼电梯节能

    小伍说-523能源: 电梯节能,欢迎咨询

  • 炎炎夏日 凉凉机房

    小伍说-523能源: 电梯节能,欢迎咨询

大家在看

  • Android13 屏蔽ANR和Crash弹窗 2183
  • 基于nodejs+vue小区物业管理信息系统[开题+源码+程序+论文]计算机毕业设计
  • 机器学习和深度学习的区别 465
  • 自然语言处理实战项目 665
  • leetcode热题100.最小路径和-多维动态规划 41

最新文章

  • 别暑气 迎秋意
  • 电梯节能,能量回馈技术
  • 畅游暑期,绿色出行
2024年28篇
2023年7篇
2022年85篇
2013年10篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为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 网站制作 网站优化