408第一季 - 数据结构 - 平衡二叉树

平衡二叉树

定义

缩写记一下 AVL

还有下面这些,can you try?

平衡二叉树的插入

LL平衡旋转(右单旋转)

怎么理解?

首先我们可以看见啊,b图A左边和右边的不平衡的,非常的难受

于是我们可以这么做,因为A的左边比右边多,所以B和A交换位置,这样就会出现一个问题,B的左边继续写BL没问题,A的右边继续写AR没问题,那BR放哪里呢,BR放在A的左边我的朋友,因为A的左边本来就是有东西的

然后BR仍然是大于B小于A的

RR平衡旋转(左单旋转)

一样,就是哪边多,你就往相反的方向旋,这里右边多,就往左旋,

LR平衡旋转(先左后右双旋转)

这里直接看b图是怎么直接到c图的 

这里LR的意思是先左 到B 再右道 BR,这里会多一个

哪边多,你就往相反的方向旋,这里右边多,左旋

然后这里除了CLANNAD照搬不了,其他的都照搬

然后B的右边原来就是有东西的,所以再放一下CL

然后再把没用到的A先画出来

然后就左边多,就往右旋,C上去,A到右边下来

最后照搬变成书上的c图,A的右边照搬是AR,C的右边照搬是B的全部,然后原本C的CR无法照搬,而A的左边原本就应该有东西,所以CR放A左边

RL平衡旋转(先右后左双旋转)

这个也是不多说了,原理一样

最小不平衡子树

这里的意思是这里有2个节点不平衡了,也就是27和75,然后只要把最下面的调好,27这个也就自动调好了

逗你一笑小例子

然后112会插在

然后发现120和100不平衡了,然后你只要处理最下面的120就行了

然后开始做

继续

好了,就这样

最后,其他的不用变

然后就有人说了,主播有没有更简单的方法,有的兄弟有的

先往你插入的地方从上往下数3个

然后把大小是中间的数写在中间,这里就是115,然后左边是110,右边的120

然后剩下的按大小来写

然后再也不用旋了,一步到位

做题

1

 

c

2

3

题目意思是 每次加一个,不平衡的话就旋转

 

d

4

这个是二叉排序树,注意

c

平衡二叉树的删除

过程

这里删的是32,删了之后就不平衡了,然后之前我们是往插入的地方走,现在就是看哪边地方大往哪边走,然后开旋

做题

1

 

a

平衡二叉树的查找

 

这个图看T3,T3左边是T1,右边是T2,所以可以看见,如果下面本就是平衡的,那只用加一个节点就可以即加深度又是平衡的,这里T4就是T2+T3+1的节点和他的四层深度

所以这个公式就不用记了,可以直接推出来

注意这里是要求最大深度,比如7个节点既可以是4层也可以是3层

做题

1

1  2  4  7  12  20 

b

2

11题 c秒,最大深度注意

12题 b秒,至少注意

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

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

相关文章

VR 地震安全演练:“透视” 地震,筑牢企业安全新护盾​

与传统的地震安全教育方式相比,VR 地震安全技术具有无可比拟的优势。在过去漫长的岁月里,我们主要依赖书本、讲座和视频等较为常规的手段来了解地震知识和逃生技巧。​ 书本上密密麻麻的文字以及静态的图片,虽然能够较为系统地传递理论性的信…

30-Oracle 23ai-回顾从前的Flashback设置

配置和测试了Oracle 23 ai的Flashback Log Placement后, 刚好身边11g,19c的环境都在,还是把从前的flashback整理下,温故知新,循序渐进。 一、闪回技术 Flashback Database 允许将整个数据库回退到过去的某个时间点/SCN&#xff…

Gartner《Reference Architecture for Federated Analytics》学习心得

研究背景 随着分析平台越来越易于被广泛用户使用,以及组织内用例的不断增多和多样化,分析架构的去中心化给专注于架构的分析专家带来了混乱。组织在交付一致、可复用和可信的分析方面面临挑战,分布式分析架构需要在控制和敏捷之间取得平衡,然而许多组织在这方面的控制力不…

Windows下Docker一键部署Dify教程

Windows环境下Docker部署Dify完整指南 📋 目录 系统要求Docker安装验证Docker安装Dify部署访问Dify常见问题管理命令 🖥️ 系统要求 在开始安装之前,请确保你的Windows系统满足以下要求: 硬件要求 CPU: > 2核心内存: >…

idea maven打包很慢,怎么提速-多线程

作为一个技术运维人员,经常要更新程序然后重新打包发布jar包。由于程序子模块多,需要相互引用每次打包的时候都需要很久,怎么可以让打包快一点呢?可以启动打包的多线程。请参照下图设置,线程数量应该和cpu内核数量要能…

Java/Kotlin selenium 无头浏览器 [Headless Chrome] 实现长截图 三种方式

在自动化测试和网页抓取中,完整捕获整个页面内容是常见需求。传统截图只能捕获当前视窗内容,无法获取超出可视区域的页面部分。长截图技术通过截取整个滚动页面解决了这个问题,特别适用于: 保存完整网页存档生成页面可视化报告验…

【AI大模型】Elasticsearch9 + 通义大模型实现语义检索操作详解

目录 一、前言 二、Elasticsearch9 语义检索介绍 2.1 ES9 语义检索核心特性 2.2 semantic_text 字段类型说明 2.3 ES9 语义检索原理 2.4 ES9 语义检索优势与使用场景 三、 Elasticsearch9 搭建过程 3.1 环境说明 3.2 部署方式一 3.2.1 创建docker网络 3.2.2 获取es9镜…

linux开机原理以及如何开关机-linux023

linux开机原理以及如何开关机 Linux 系统启动过程概述 阶段描述内核引导启动时,BIOS执行自检,启动设备通常是硬盘。操作系统接管硬件后,读取/boot目录下的内核文件。运行 initinit是系统所有进程的起点,负责启动其他进程。它读取…

使用 socat 和 xinetd 将程序绑定到端口运行

在现代网络应用开发和系统管理中,经常需要将某些程序或脚本绑定到特定的网络端口上,以实现远程访问或服务化。例如,一个简单的 Python 脚本可能需要通过 TCP 端口提供服务,或者一个命令行工具需要通过网络接口暴露其功能。为了实现…

电阻篇---上拉电阻

一、上拉电阻的定义与本质 定义:上拉电阻是一端连接到电源(VCC),另一端连接到电路节点的电阻元件,其核心作用是将该节点的电平 “拉” 至电源电压,使其在无信号输入时保持稳定的高电平状态。 本质原理&…

前端持续集成和持续部署简介

持续集成(CI):代码提交后自动触发构建、静态检查、单元测试,确保代码质量。 持续部署(CD):通过流水线将测试通过的代码自动发布到测试/生产环境,减少人工操作失误。 CI/CD 工具链 …

Elasticsearch高效文章搜索实践

功能 创建索引和映射 使用postman添加映射和查询 查询所有的文章信息,批量导入到es索引库中 server:port: 9999 spring:application:name: es-articledatasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/leadnews_article?useU…

React 中除了react-router还有哪些路由方案

在用React开发时,常用的路由是react-router ,但除此之外,还有两个路由方案,因为他们具备 react-router 没有的特性。 1. tanstack/router 1.1. 主要特性 100% 推断的 TypeScript 支持 类型安全的导航 嵌套路由和布局路由 内置…

VINS-Fusion 简介、安装、编译、数据集/相机实测

目录 VINS-Fusion 简介 安装 VINS-Fusion 源码安装 运行数据集 双目模式 单目IMU 模式 双目IMU 模式 D455 相机实际运行 双目IMU 模式 VINS-Fusion 简介 VINS-Fusion 是继 VINS-Mono 和 VINS-Mobile(单目视觉惯导 SLAM 方案)后,香港科 技大学…

SQL Developer 表复制

SQL Developer 表复制 此方法在数据量比较大时,比一条一条的insert要快得多;具体是会覆盖掉原数据,还是增量的处理,请自行创建demo表测试一下。 注意:原库版本要与目标库数据库版本一致,否则可能会报错的。…

影视剧学经典系列-梁祝-《吕氏春秋·应同》

1、背景 07版电视剧《梁山伯与祝英台》中,谢道韫作为先生,给学生讲了其中的句子。 2、名言 君为尊,以白为黑,臣不能从;父虽亲,以黑为白,子不能从”出自《吕氏春秋应同》 其意为,…

异步爬虫---

代码结构分析 这是一个同步新闻爬虫程序,主要包含以下几个部分: 们把爬虫设计为一个类,类在初始化时,连接数据库,初始化logger,创建网址池,加载hubs并设置到网址池。 爬虫开始运行的入口就是r…

微服务架构中的 Kafka:异步通信与服务解耦(二)

三、Kafka 基础入门 3.1 Kafka 是什么 Kafka 最初由 LinkedIn 公司开发,是一个开源的分布式事件流平台,后成为 Apache 基金会的顶级项目 。它不仅仅是一个简单的消息队列,更是一个分布式流处理平台,具备强大的消息队列、存储系统…

Lighthouse与首屏优化

之前提到首屏优化,想到的就是Vue项目首页打开很慢需要优化。一般都是肉眼看看,对当前的加载速度并没有一个准确的衡量标准,也没有很清晰的解决思路。 前两天我想给自己的网站申请谷歌广告,听说审核对网站的性能要求很高。于是网上…