随笔 --- 是否可以用左右子树结点数差来衡量二叉树是否平衡?

news2024/11/26 9:42:15

这道题目来自mooc上浙江大学由陈越 、何钦铭老师主讲的数据结构课程上。
题目如下:
在这里插入图片描述
由于评论区关闭,在这里写下我自己的思路:

  1. 根据要求使用结点数来衡量是否是平衡时,极端条件是NR = 2NL 或者反之。

    如果构建二叉树时恰好构建为斜二叉树,会导致ASL变成最大。很显然也不满足树的高度为O(logn)。

    在使用结点数来定义平衡,我们不妨再给其加上一个限定条件,就是平衡的树的除去最低一层的结点后,时完美二叉树。这样就会有出现左右子树结点树是另一侧结点数二倍时,左右子树高度差不会超过1,同时因为有 2^k - 1 = N总。一种情况是,3NR + 1 = N总,NR = 1/3*(2^k + 2),所以满足树的高度为O(logn)。

  2. 当插入新元素使平衡树不在平衡时,因为我们多引入一个条件,在我看来重新调整为平衡变的非常困难。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

xxl-job使用详解(包含部分踩坑信息)

概念 XXL-JOB 是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 分布式下,每个服务都可以搭建为集群,这样的好处是可以将任务切片分给每一个服务从而实现并行执行,提高任务调度的处理效率。 在…

你真的会CSS?来看看这几个效果怎么做!

最近阿锋在超市排队买菜(辣条) 一个大叔一边给孩子买吃的一边说: 这些都是增加记忆力的,对孩子好! 蓝莓,深海鱼,全麦面包,坚果儿,十六个核桃 不禁感叹现在的孩子们还真是…

6个美化代码片段转换截图图片在线工具推荐

有些截图的代码片段不是太美观,我们可以用统一的代码片段美化截图工具: 文章目录: 1、Codeimg 2.、Carbon 3、Ray.so 4、CodeKeep 5、Chalk.ist 6、Codepng Codeimg 支持设置设备系统,比如可选 MacOs、Windows系统样式。以及设置…

QT error: C2039: “jifen_lineEdit”: 不是“Ui::UIMainFrame”的成员

问题:新增控件不在ui_.h文件中 前提: 在ui界面新增了一个edit控件,在对应cpp中使用ui->jifen_lineEdit时就报错 error: C2039: “jifen_lineEdit”: 不是“Ui::UIMainFrame”的成员 或者error: no member named jifen_lineEdit in Ui::U…

java项目之二手手机回收平台系统(ssm+mysql+jsp)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的二手手机回收平台系统。技术交流和部署相关看文章末尾! 开发环境: 后端: 开发语言:Java 框…

论文怎么导入endnotes

我不怎么用pdf直接导入,感觉基本信息还要重新填比较麻烦,期刊基本都支持直接导入了, 1、知网: 随机选择一篇论文: 说实话搜索之前我以为没有结果的(x 注意先点击前面的选中,然后点击导出分…

【七天入门数据库】第三天 MySQL的库表操作

系列文章传送门: 【七天入门数据库】第一天 MySQL的安装部署 【七天入门数据库】第二天 数据库理论基础 【七天入门数据库】第三天 MySQL的库表操作 文章目录 一、SQL语句书写规范 二、数据库的操作 三、表的基本操作 四、表的约束 五、存储引擎 六、MySQ…

密码学入门——消息认证码

文章目录 参考书目一、简介二、消息认证码的使用步骤三、消息认证码的应用实例四、消息认证码的实现方法五、认证加密六、HMAC 参考书目 图解密码技术,第三版 一、简介 使用消息认证码可以确认自己收到的消息是否就是发送者的本意,也就是说&#xff0…

python实现压缩与解压(zlib)

本文将使用python的zlib与base64进行压缩与解压 其中base64模块用于对字节流与字符串的转换,zlib用于数据的压缩与解压 同时在后面附上在JS中遇到需要压缩解压的案例 解压代码: import base64 import zlibinput_string eJwlzT1OAzEQBeC7pJjSf1rHu0h…

yum方式安装mysql 8.0.33失败,缺少依赖包

配置网络源 [rootlocalhost yum.repos.d]# ping www.163.com PING z163picipv6.v.bsgslb.cn (61.184.215.68) 56(84) bytes of data. 64 bytes from 61.184.215.68 (61.184.215.68): icmp_seq1 ttl128 time13.2 ms 64 bytes from 61.184.215.68 (61.184.215.68): icmp_seq2 tt…

造船码头行车限位器与驾驶室控制柜无线通讯

随着我国海洋交通的快速发展,船舶信息化管理的建设,无线通信资源的配置,将先进的无线通信技术引入水上交通安全的监管业务中已是大势所趋。码头安装(设备和系统的安装) 船舶下水后常停靠于厂内舾装码头, 以安装船体设备, 机电设备&#xff0c…

第6集丨JavaScript 使用原型(prototype)实现继承——最佳实战3

目录 一、原型继承与属性拷贝1.1 功能说明1.2 功能测试 二、多重继承2.1 功能实现2.2 功能测试 三、寄生式继承四、构造器借用4.1 简单实现4.2 进化版4.2.1 功能实现4.2.2 案例测试 五、借用构造器和原型复制六 综合案例6.1 需求说明6.2 代码实现 一、原型继承与属性拷贝 1.1 功…

免费的音频转文字软件这么多,音频转文字软件推荐有哪些?

在一次音频转文字工作者的聚会上,艾米和迈克正在探讨如何提高他们的工作效率。他们都深知手动转录音频文件的困难和耗时,因此开始讨论是否有一种音频转文字软件可以推荐。 迈克:嘿,艾米!我们都知道,音频转…

Scratch 星际飞船

Scratch 星际飞船 本程序主要增加了背景切换功能,飞船跟随鼠标移动,接触到右边的方块时切换到下一张背景,切换后飞船移动到左边,左边的椭圆则相反。随机生成另外两种飞船角色为背景,接触到边缘后移除。 图形化程序如下…

【算法与数据结构】150、LeetCode逆波兰表达式求值

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:我们常看见的表达式是中缀表达式(关于中缀表达式的定义可以参考前缀、中缀、后缀表达式&am…

0经验也能轻松设计商标logo的方法

如今,越来越多的人开始创业,而拥有一个好看的商标就显得尤为重要。但是,很多人并不具备设计技能,对于商标设计也是一头雾水。不过,现在有了一键logo设计应用,即使零经验的人也能轻松设计出自己满意的商标。…

IoT开发者为王,涂鸦智能硬核“靠边站”

文 | 智能相对论 作者 | 沈浪 6月底,全球化IoT开发平台服务商涂鸦智能开了个TUYA开发者大会,面向行业传达了两个关键的信息点: 1. 当前IoT领域的行业竞争不再局限于技术、渠道的单一纬度,开始演化为整体的生态之争。 2. 紧随行…

STM32 Proteus仿真双机串口通讯同步电子时钟系统数码管显示 -0060

STM32 Proteus仿真双机串口通讯同步电子时钟系统数码管显示 -0060 Proteus仿真小实验: STM32 Proteus仿真双机串口通讯同步电子时钟系统数码管显示 -0060 功能: 硬件组成:本系统由2个设备组成 设备1:STM32F103R6单片机 8位数…

GaussDB OLTP云数据库配套工具DRS

目录 一、前言 二、DRS定义与使用场景 1、DRS定义 2、DRS场景示意图 三、DRS核心功能 1、实时迁移管理 2、实时同步管理 3、备份迁移管理 4、数据订阅管理 5、实时灾备管理 四、小结 一、前言 华为GaussDB云数据库提供了配套的生态工具数据复制服务DRS。 DRS围绕云…

IO流学习09(Java)

解压缩流/压缩流: 解压缩流: 解压本质:把每一个ZipEntry按照层级拷贝到本地另一个文件夹中 注:Java只认zip格式 在正式写之前,先准备好压缩文件和解压完需要存放文件的文件夹 下面直接给出案例: pack…