day062:平衡二叉树——左旋、右旋

article/2025/9/29 15:32:09

二叉树、平衡二叉树的介绍:day061:二叉树、二叉查找树、平衡二叉树_ZQyyds:)的博客-CSDN博客

目录

一、平衡二叉树的左旋

1.为什么要左旋、右旋?

2.什么是左旋?

3.图解

 二、平衡二叉树的右旋

1.什么是右旋?

2.图解

 三、总结

1.往哪旋:

2.关于多余的节点(子树上的节点)


一、平衡二叉树的左旋

1.为什么要左旋、右旋?

防止二叉树出现“长短腿”的情况;便于二叉树查找

2.什么是左旋?

左旋:指将根节点的右侧往左拉,原先的右子节点变成新的父节点,并把多余的左子节点出让,给已经降级的根节点当右子节点

3.图解

(1)原先的根节点为7,右子节点10 有个左子节点9

(2)暂且不看10的左子节点,先将二叉树左旋

 (3)左旋后如下图

(4)左旋后,将原来10的左子节点9,给已经降级的原根节点 7 做右子节点即可

 二、平衡二叉树的右旋

1.什么是右旋?

右旋:指将根节点的左侧往右拉,原先的左子节点变成新的父节点,并把多余的右子节点出让,给已经降级的根节点当左子节点

2.图解

(1)原先的根节点为7,左子节点4有个右子节点5

(2)暂且不看右子节点5,先将二叉树右旋,新的父节点为4

(3)再将原右子节点5,作为已降级的7的左子节点即可

 三、总结

1.往哪旋:

大致:

左子树高:右旋;右子树高:左旋;

平衡二叉树有左左、右右、左右、右左四种旋转情况,具体怎么旋视情况而定

2.关于多余的节点(子树上的节点)

左旋后当已降级的右节点;右旋后当已降级的左节点 


http://chatgpt.dhexx.cn/article/gneoJcSs.shtml

相关文章

大型json文件格式化【超简单】

问题 遇到了一个很大的JSON文件(约4M),想格式化查看,在线json工具会直接崩溃,网上其他同学说的python方法之类的我也都实验失败,但是发现了vs code中一个超强的代码格式化 解决1(2019.2.10更…

Unity存档系统——Json格式的文件

实例场景 点击Save按钮后,查看保存的文件 点击Load按钮后加载文档数据 Json介绍https://www.json.org/json-zh.htmlUnity中自带的JsonUtility可以将可序列化对象与Json格式相互转换。 将对象转为可序列化对象需要添加[SerializeField],且为public&#…

将json文件格式转化成Excel表格形式

在程序员的工作中,经常有产品或者运营部门的小姐姐需要数据,由于不懂技术,就需要我们将Json格式的数据转换成Excel文档提供给她们进行数据分析。 本文就介绍一个非常简单方便的方法 1.运用的是Excel表格自带的功能 首先打开Excel文件 点击插…

js导出JSON格式文件

在src目录下新建tools文件价,在tools文件中新建index.js(文件内名字随意) 在index.js文件中 const Tools {// 导出文件exportJson(name, data) {let blob new Blob([data]); // 创建 blob 对象let link document.createElement("a");link.href URL.…

json文件

认识一下 json文件 直接使用记事本打开:例如猫狗二分类 一般都使用类似字典的方式存储,但和字典不同,无论是键还是值,都要加上双引号。 json文件的读取与写入 import jsondata {"a":"1","b":&q…

JSON格式校验工具

经常用ApiPost 和 Postman 测试自己写的接口的话,有时会不小心写错传进去的json对象,我们可以用json格式检验工具去检查一下自己json格式。 在线工具:在线 JSON 工具,JSON 校验/格式化/压缩/工具 - 在线工具-wetools.com微工具

python文件处理——JSON格式文件

python文件处理——JSON格式文件 hello!我是wakeyo_J,每天一个konwledge point,一起学python,让技术无限发散。 JSON格式文件 python文件处理——JSON格式文件1. JSON格式1.1 JSON常用的两种结构数据类型1.2 JSON数据与python数据…

json文件格式详解

json文件格式详解 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式&a…

json文件格式转换为png文件格式

话不多少,直接上代码,更换源目录和目标目录即可 1、导入库 import cv2 import numpy as np import os import shutil import matplotlib.pyplot as plt 2、设置源目录/输出目录 json_dir G:/json_filedir/ #json文件所在文件夹(注:文…

Notepad++工具 格式化Json文件格式

简介: Notepad是常用的文件查看工具,在查看json的文件时,如果json文件的格式不符合正常的可视格式,那就需要格式化json文件,使之符合我们的可视化需求。 流程: 首先打开Notepad 打开Plugins 在搜索框中填入…

JSON 文件存储

📋 个人简介 💖 作者简介:大家好,我是W_chuanqi,一个编程爱好者 📙 个人主页:W_chaunqi 😀 支持我:点赞👍收藏⭐️留言📝 💬 愿你我共…

JSON 文件格式

最近的开发中用到了JSON文件,JSON是网络中比较常用的数据交换格式,Google chrome 浏览器的书签文件就采用了JSON格式。 以下是官方网站对JSON的介绍,URL:http://json.org//json-zh.html JSON(JavaScript Object Notation) 是一种…

json文件格式标准

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使…

Json文件格式化方法

1. JSON 是一种存储和交换数据的语法 当数据在浏览器与服务器之间进行交换时,这些数据只能是文本。 JSON 属于文本,并且我们能够把任何 JavaScript 对象转换为 JSON,然后将 JSON 发送到服务器。 我们也能把从服务器接收到的任何 JSON 转换…

JSON的三种格式

JSON的三种格式 一、 JSON的全称 JSON的全称是JavaScript Object Notation 二、为什么需要JSON JSON有三种格式,每一种写法都和JS中的数据类型很像,可以很轻松的和JS中的数据类型互相转换 三、JSON的三种格式 (一)、简单值的形式…

JSON文件格式

前言: JSON是个什么东东? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式,是存储和交换文本信息的语法。类似 XML。 JSON 比 XML 更小、更快,更易解析。…

编程小白自学Java开发FlyBird小游戏

本人在读大学生一枚,在上个月自学了半个月的Java,现在寒假放假有空闲时间,用三天肝爆出一款之前爆火的小游戏,FlyBird,用的是IDEA开发环境。 参考了B站代码帝国的教学思路,在面向对象和构造方法中花费了不…

java fly bird小游戏_java swing实现的小游戏flybird源码附带视频配置修改教程

大家好,今天给大家演示一下由Java swing实现的一款小游戏flybird,该游戏操作比较简单,点击鼠标确保小鸟不要触碰到柱子即可,该游戏可运行在Java环境下,jdk版本不限,下面我们来看看如何运行以及简单的修改游…

html+css+js实现小游戏flybird(完整版)

完整demo下载资源https://download.csdn.net/download/qq_30548105/10847675 从未做过前端的游戏,哪怕不是用引擎实现的小游戏也没做过,这次试了一下,参考了一些资料,资料也不是很完整,于是就自己补齐写了一个…