24.9.16数据结构|平衡二叉树

news2024/9/20 17:16:57

一、理解逻辑

平衡二叉是有限制的二叉搜索树,满足平衡因子绝对值小于1的二叉搜索树是平衡二叉树。

平衡指的是树的左右两边的节点左右高度平衡,要求平衡因子处于规定范围

平衡因子:该节点的左高度-右高度,绝对值小于1

如何平衡化?旋转:左旋右旋

有四种类型:LL  LR  RR  RL

备注:第一个L指的是左边失衡,导致失衡的最后一个节点是左子树/右子树

 旋转操作:左旋右旋

(1)左旋

       

(2)右旋同理

二、敲代码

1、定义结构

2、定义树头

3、创建树头

4、插入元素到平衡树【部分代码与二分搜索树一模一样】

把插入的树找到正确位置并插入

更新每个节点的高度

计算当前节点的平衡因子

【左旋

1、备份根结点的右节点

2、备份节点的
3、更新高度

未完待续,,,  

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

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

相关文章

2024年9月20日历史上的今天大事件早读

公元前480年9月20日 希腊人在爱琴海萨拉米海战中击败了波斯人 383年9月20日 发生“淝水之战” 1013年9月20日 《君臣事迹》书成,赐名《册府元龟》 1519年9月20日 葡萄牙航海家麦哲伦环球航行 1644年9月20日 清顺治帝驾车由盛京出发,迁都北平&#xf…

在SpringCloud中实现服务熔断与降级,保障系统稳定性

在分布式系统中,微服务架构的应用越来越受欢迎。然而,由于各个微服务之间的依赖关系和网络通信的不稳定性,一个不稳定的服务可能会对整个系统产生连锁反应,导致系统崩溃。为了保障系统的稳定性,我们需要一种机制来处理…

FB FC里调用全局变量注意事项

PLC编程基础之数据类型、变量声明、全局变量和I/O映射 PLC编程基础之数据类型、变量声明、全局变量和I/O映射(CODESYS篇 )_codesys全局变量如何映射写入-CSDN博客文章浏览阅读6.3k次,点赞2次,收藏4次。本文介绍了CODESYS编程的基础知识,包括数据类型、变量声明、全局变量、…

Unity 设计模式 之 结构型模式 -【适配器模式】【桥接模式】 【组合模式】

Unity 设计模式 之 结构型模式 -【适配器模式】【桥接模式】 【组合模式】 目录 Unity 设计模式 之 结构型模式 -【适配器模式】【桥接模式】 【组合模式】 一、简单介绍 二、适配器模式 (Adapter Pattern) 1、什么时候使用适配器模式 2、使用适配器模式的好处 3、适配器…

Active Directory 实验室设置第一部分- AD林安装

在之前的文章中,已经讨论了活动目录的基本知识。在这篇文章中,我们将讨论如何设置和配置环境,以便我们可以使用它来执行各种攻击方案和检测。我们将讨论如何通过GUI和CLI方式完成。 # 1、Active Directory 设置 让我们从活动目录实验室设置…

【JAVA开源】基于Vue和SpringBoot的校园美食分享平台

本文项目编号 T 033 ,文末自助获取源码 \color{red}{T033,文末自助获取源码} T033,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

docker-compose 部署 flink [支持pyflink]

下载 flink 镜像 [rootlocalhost ~]# docker pull flink Using default tag: latest latest: Pulling from library/flink 762bedf4b1b7: Pull complete 95f9bd9906fa: Pull complete a880dee0d8e9: Pull complete 8c5deab9cbd6: Pull complete 56c142282fae: Pull comple…

python安装-升级

这里写自定义目录标题 欢迎使用Markdown编辑器 欢迎使用Markdown编辑器 运行python 或pycharm时报错 [notice] A new release of pip is available: 23.1.2 -> 24.2 [notice] To update, run: python.exe -m pip install --upgrade pipCMD 进入 DOS C:\Users\wang>pyt…

深度学习:(五)初识神经网络

(一)神经网络的层数 除去输入层,但包括输出层,每一层都有自己的参数。 输入层称为第零层。 (二)最简单的神经网络(逻辑回归) 下图中的小圆圈,代表了一种运算。且一个小…

手撕小顶堆

1. 抛砖引玉 给定两个以升序排列的整数数组 nums1 和 nums2 , 以及一个整数 k 。 定义一对值 (u,v),其中第一个元素来自 nums1,第二个元素来自 nums2 。 请找到和最小的 k 个数对 (u1,v1), (u2,v2) … (uk,vk) 。 分析 大根堆(大顶堆&#x…

vue无法通过页面路径访问提示404,通过nginx配置处理

部署vue项目时,可以通过IP的方式访问主页,当进入特定页面在刷新时,因为浏览器通过URL地址进行请求,就提示404错误。 每次都需要重新从主页进入,这里是因为nginx配置的问题,在nginx里增加一行重定向的设置 …

如何使用淘宝API获取买家秀数据?一份详细指南

什么是淘宝买家秀API? 淘宝买家秀API是淘宝开放平台提供的一种接口,它允许开发者通过编程方式获取淘宝商品的买家秀信息,包括买家上传的图片、视频、评论等内容。 为什么需要使用淘宝买家秀API? 提升商品质量:通过分…

什么是CSRF攻击,该如何防护CSRF攻击

CSRF攻击(跨站请求伪造,Cross-Site Request Forgery)是一种网络攻击手段,攻击者利用已通过身份验证的用户,诱导他们在不知情的情况下执行未授权操作。这种攻击通常发生在用户登录到可信网站并且有活动的会话时&#xf…

【Elasticsearch】-spring boot 依赖包冲突问题

<dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>7.17.24</version></dependency> 在pom的配置中&#xff0c;只引入了elasticsearch-7.17.24 &#xff0c;但实际上会同时…

vue2中字符串动态拼接字段给到接口

【设计初衷是用户可根据给定的字段进行准确描述】 实现功能&#xff1a; 1. 文本域内容串动态配置字段&#xff0c;以$ {英文}拼接格式给到接口。 &#xff08;传参如&#xff1a;$ {heat_status_code}正常&#xff0c;$ {wdy_temp}也正常&#xff01;&#xff09; 2. 编辑时根…

Nginx从入门到入土(四):基于Nginx负载均衡策略

软负载和硬负载的概念前文提起过&#xff0c;那接下来我们便讲讲什么是负载均衡。 前言 Nginx负载均衡解决的是高并发的问题。 定义&#xff1a; 负载均衡&#xff08;Load Balancing&#xff09;是一种技术策略&#xff0c;它旨在将工作负载&#xff08;如网络流量、计算任…

react之jsx基础(2)高频使用场景

文章目录 1. **组件定义**2. **条件渲染**3. **列表渲染**4. **事件处理**5. **嵌套组件**6. **表单处理**7. **样式应用**8. **处理子组件** 在 React 中&#xff0c;JSX 的使用是非常广泛和高频的。以下是一些常见的高频使用场景及其示例&#xff0c;帮助你更好地理解 JSX 的…

Python基于flask框架的智能停车场车位系统 数据可视化分析系统fyfc81

目录 技术栈和环境说明解决的思路具体实现截图系统设计python语言django框架介绍flask框架介绍性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示技术路线操作可行性详细视频演示源码获取 技术栈和环境说明 结合用户的使用需求&…

我在高职教STM32——准备HAL库工程模板(2)

新学期已开始,又要给学生上 STM32 嵌入式课程了。这课上了多年了,一直用的都是标准库来开发,已经驾轻就熟了。人就是这样,有了自己熟悉的舒适圈,就很难做出改变,老师上课也是如此,排斥新课和不熟悉的内容。显然,STM32 的开发,HAL 库已是主流,自己其实也在使用,只不过…

基于SpringBoot+Vue的商场停车场管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的…