首页 > 其他分享 >二叉树03

二叉树03

时间:2023-06-18 22:14:40浏览次数:37  
标签:左子 03 右子 最小 二叉树 深度 节点

104 二叉树的最大深度

用递归的写法。递归的思路是,当前树的深度=max(左子树深度, 右子树深度) + 1

 

 

111 二叉树的最小深度

 

对于上面这颗二叉树,离root最近的叶子节点是4,所以最小深度是3(路径1-2-4,有3个节点)。而如果我们直接把递归里的max改成min,由于root节点的左节点是None,那么最终的结果会是1。

其根本原因是,最小深度不是到某个节点没有左节点或右节点为止(这种节点不是叶子节点),而是到某个节点同时没有左右节点为止(这种节点才是叶子节点)。

所以在递归里,我们要判断是否当前节点的左子树或右子树为空。

(1)如果左子树为空,右子树不为空,那么最小深度由右子树决定。

(2)如果右子树为空,左子树不为空,那么最小深度由左子树决定。

(3)如果左右子树都不为空,那么最小深度由两者的最小值决定。(只有这种情况下才能把max直接改成min)

需要加上判断 左子树为空 右子树不空 那么最小高度由右子树决定

 

222 完全二叉树的节点个数

 用深度优先的递归法,其核心思路是,当前树的节点数量=左子树节点数量+右子树节点数量+1,这个1代表的是中间节点的个数

 

标签:左子,03,右子,最小,二叉树,深度,节点
From: https://www.cnblogs.com/hook-thresh/p/17489848.html

相关文章

  • Azure Blob Storage Java SDK使用SAS Token授权读取文件403报错
    问题描述代码如下,内容十分简单,只是listpath的操作。点击查看代码DataLakeServiceClientdataLakeServiceClient=newDataLakeServiceClientBuilder().endpoint(blob).sasToken(sasToken).buildClient();DataLakeFileSystemClienttestFs=dataLakeServic......
  • 【openeuler】Yocto &embedded sig联合例会 (2022-11-03)
                        ......
  • 人工智能加速走进103.36.167百姓生活
    按照大脑指令可做出灵活动作的智能仿生手,帮助肢体缺失患者重建手部运动功能;会学习的农田打药机器人能在雨雪、低能见度等恶劣条件下自动驾驶作业;宠物型机器人可以陪伴老人和小孩,有温度地进行情感交流……正在浙江杭州举办的2023全球人工智能技术大会上103.36.167.1,形形色色的人......
  • hObject==handles.pushbutton1;sprintf('handles.pushbutton1 is %d',handles.pushbutt
    %---Executesonbuttonpressinpushbutton1.functionpushbutton1_Callback(hObject,eventdata,handles)%hObjecthandletopushbutton1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandles......
  • 数据结构课程设计2023夏7-4 先序和中序构造二叉树
    本题目要求用先序序列和中序序列构造一棵二叉树(树中结点个数不超过10个),并输出其后序序列。输入格式:在第一行中输入元素个数。第二行中输入先序序列,用空格分隔。第三行中输入中序序列,用空格分隔。输出格式:输出此二叉树的后序序列,用空格分隔,最后也有一个空格。输入样例:......
  • Python-练脑系列-03数据结构
    练脑不断,快乐不止;本次是第三期练脑。1、给定一个列表,其中每个元素都是一个由数字和运算符组成的字符串,例如['2+3','4*5','6/3'],计算列表中所有元素的值,并返回结果的列表。2、给定一个列表和一个整数k,返回列表中所有长度为k的连续子序列中的最大值。3、给定一个字典,其中键和值......
  • The baby-bust economy “婴儿荒”经济 | 经济学人20230603版社论双语精翻
    2023年6月3日《经济学人》(TheEconomist)封面文章暨社论(Leaders)精选:《“婴儿荒”经济》(“Thebaby-busteconomy”)。baby-bust即“婴儿荒”(生育低谷),与历史上1946~1964年间著名的baby-boom即“婴儿潮”(生育高峰)相对立。Thebaby-busteconomy“婴儿荒”经济Globalfertilityhascoll......
  • 使用Echarts时报 Implementation of registerMap doesn't exists 错误解决办法
    最新的echarts在使用时,如果使用按需加载的方式引入依赖。在使用registerMap函数时会报错如果出现这两个错误:ImplementationofregisterMapdoesn'texists.或者Mapxxxnotexists.TheGeoJSONofthemapmustbeprovided.那么大概率是因为echarts升级后导致的不兼......
  • Day03 3.3 使用Python还原算法
    Day033.3使用Python还原算法加密分类1、单向加密:MD5、sha系列不可逆2、对称加密:AES、DES3、非对称加密:RSA、DSA4、补充算法:base64【一】md5importhashlibm=hashlib.md5()m.update('helloworld'.encode("utf8"))print(m.hexdigest())【二......
  • Day03 3.2 HOOK
    Day033.2HOOK【一】hook框架fridaHook框架是一种技术,用于在运行时拦截和修改应用程序的行为。通过Hook,你可以劫持应用程序的方法调用、修改参数、篡改返回值等,以达到对应用程序的修改、增强或调试的目的常见的有:XposedFramework:Xposed是一个功能强大的开源H......