平衡二叉树暂记

ResumeProject 利用设计模式,私人订制优雅的简历 立即下载

二叉排序树主要解决的是删除中的子节点的去向的问题

平衡二叉树

两个特点:
1.左右子树的深度的差的绝对值不超过1
2.左右子树也是平衡二叉树

BF(BlanceFactor)=左-右(BF-)

二叉树因插入导致平衡破坏的调整(不更改中序遍历的结果)

RR:对B逆时针旋转
在这里插入图片描述
在这里插入图片描述

LL:同理

LR:
插入前
在这里插入图片描述
在这里插入图片描述
先对B及其右子树转成LL
在这里插入图片描述
再使用LL的顺时针:
在这里插入图片描述
调整后:
在这里插入图片描述
在这里插入图片描述
绘图软件

例题:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

void RR_rotate(BBSTNode *a)//只需要传入关键节点a
{ BBSTNode *b;
  b=a->Rchild;//a的右子树 
  a->Rchild=b->Lchild;//最终a的右子树的左子树变为a的右子树
  b->Lchild=a;
  
  a->Bfactor =b-->Bfactor=0;
  a=b;
}
void LL_rotate(BBATNode *a)
{ BBATNode *b;
  b=a->Lchild;a->Lchild=b->Rchild;
  b->Rchild=a;
  a->Bfactor =b-->Bfactor=0;a=b;
}

在这里插入图片描述

在这里插入图片描述

void LR_rotate(BBATNode *a)
{ BBATNode *b,*c;
  b=a->Lchild;c=b->Rchild;/*初始化*/
  a->Lchild=c->Rchild;  b->Rchild=c->Lchild;
  c->lchild=b;c->Rchild=a;
  if(c->Bfactor==1)
  {
  a->Bfactor=-1;b->Bfactor=0;
  }
  else if(c->Bfactor==0)
  a->Bfactor=b->Bfactor=0;
  else{a->Bfactor=0;b->Bfactor=1;}
  
}
void LR_rotate(BBATNode *a)
{ BBATNode *b,*c;
  b=a->Lchild;c=b->Rchild;/*初始化*/
  a->Lchild=c->Rchild;  b->Rchild=c->Lchild;
  c->lchild=b;c->Rchild=a;
  if(c->Bfactor==1)
  {
  a->Bfactor=-1;b->Bfactor=0;
  }
  else if(c->Bfactor==0)
  a->Bfactor=b->Bfactor=0;
  else{a->Bfactor=0;b->Bfactor=1;}
  
}

10,20,30,90,50

在这里插入图片描述

当然对于以上的含有数字的可先关注不平衡的三个节点,将三个节点的顺序排好,两边不用管,中间的根据数值进行放置(RR类要改变顺序,RL不变顺序放置)

stm32入门 点亮TFTLCD(NT35510驱动) 正点原子stm32f407探索者开发板屏幕使用正点原子4.3寸TFTLCDstm32f407开发使用标准库本文参考正点原子例程和NT35510的data sheet,尽量使用最少的代码点亮屏幕。 阅读详情

相关推荐

VCSA 6.7证书更新全流程指南:从故障诊断到完整替换

本文详细介绍了VCSA 6.7证书更新的全流程,包括故障诊断、证书替换操作步骤及常见问题解决方案。通过使用官方脚本和证书管理器,帮助管理员快速解决证书过期问题,确保vCenter系统的稳定运行。特别强调了STS证书修复和全量证书重置的关键步骤,适用于vcsa6.7环境下的证书管理需求。

weixin_42634811的博客 450

平衡二叉树

题目描述: 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 平衡二叉树:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 求二叉树的深度的代码: 在这里插入代码片 ...

weixin_43956565的博客 329

open-mmlab / mmpose安装、使用教程

mmpose安装、使用教程mmpose安装教程1. 安装mmcv-full2. 安装MMPose2. 安装mmdet使用教程1. 预测图片2. 预测视频 mmpose mmpose是商汤旗下有又一款好用的工具箱,主要是针对姿态识别任务开发的,包括人体姿态识别和动物姿态识别。里面继承很多现成的网络可以供大家使用,并且提供了训练好的权重。用户可以更具自己的需求训练自己的数据,或者直接应用他们的结果,反正就是很全面啦!!!! github连接:https://github.com/open-mmlab/mmpos

CharmsLUO的博客 1万+

群与作用笔记

iff 当且仅当 群的生成元组:(书的117页)《《《《《《 可以用集合生成群,群中的元素为集合中元素本身或逆的有限次乘积。则可证 a,b属于群,则a乘b的逆属于群。 特别的,当集合只有一个元素时,群即为此元素的循环群,元素称为生成元。例如 整数加群是由1作为生成元生成的 集合有限 群 称为有限生成群 置换群Sn n》=3不是置换的 阶为n的阶乘 Sn可由所有的轮换生成 轮换就是部分连续的一圈向前移一位。《《《《《《《《 记为将指标用圆括号将轮换的指标括起来 轮换不相交 就是 两个圈不重复 更进一步置换可由

ResumeProject的博客 2296

华为C语言笔试题(附答案)

华为C语言笔试题(附答案)     1、局部变量能否和全局变量重名?   答:能,局部会屏蔽全局。要用全局变量,需要使用 ":: "   局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。  

峰云四起 3031

Ubuntu系统下STM32开发环境搭建:从零配置CubeMX、VSCode与OpenOCD调试实战

本文详细介绍了在Ubuntu系统下搭建STM32开发环境的完整流程,包括CubeMX、VSCode和OpenOCD的安装配置。通过实战教程指导开发者从基础环境准备到工程创建与调试,提供高效的嵌入式开发解决方案,并分享常见问题解决方法。

potato的博客 941

工程流体力学笔记暂记40 (气流的参考状态)

气体在管道中做定常流动时连续方程可以表示为 pva=常数 即质量流量是一常数 对该方程两边同时进行微分 并整理可得到连续方程的微分形式 如果假定气体是无粘性的完全气体 而且由于气体的密度很小所以忽略质量力 由一维流动的欧拉运动微分方程我们可以得到 一维定常流的运动微分方程 在绝热状态下 建立气体一维定常流动的能量方程 ...

ResumeProject的博客 694

Zuken E3.series schematic/cable/Formboard 连载(1)

​ 1987-2001年,CIM-Team公司(德国)推出基于MS-DOS环境下运行的CAD软件DDS-schematic 2002年,在此基础上,推出基于windows环境下运行,应用于电气工程领域的E3.Series 2002-2006年,CIM-Team公司成为Zuken公司(日本)的一家分公司,实现电子电气系统的完整设计平台 覆盖电子、电气原理设计,三维机柜设备布局与配线设计,线缆线束设计及其各类生产报表文档生成的完整设计流程

u010930036的博客 2498

C语言基础

文章结构: 赋值定义运算语句 格式化输入输出语句 符号常量:#define 标识符 常量值 两种 while 语句 && switch语句 数组 && 字符串 指针 动态内存分配 指针处理链表 typedef 声明新类型 注:部分内容省略了,适用于学过C语言或其他语言的读者阅读 赋值定义运算语句 运算规则 先运算,再取值 ++a a取值后,a的值再自增1 a++ 与或非 (&&  || !) 注意:在定义中不允许连续赋值,如int a=b=c=5;是不合法的。

ResumeProject的博客 359

MQTT在智能家居中的实战:用Android手机控制ESP8266设备(基于EMQX)

本文详细介绍了如何利用MQTT协议构建一个完整的智能家居控制系统,通过Android手机App远程操控ESP8266设备。文章提供了从EMQX服务器部署、ESP8266端Arduino固件开发到Android客户端搭建的完整实战指南,并深入探讨了系统联调、稳定性优化与安全加固等关键环节,为物联网开发者提供了一套可复用的解决方案。

ujm567890的博客 457

Rancher入门到精通 - Nginx Ingress 配置指南

Rancher 是一个开源的容器管理平台,它提供了一套完整且易于使用的工具来部署、管理和扩展容器化应用。而 Nginx Ingress 则是一个常用的开源 Ingress 控制器,用于将外部请求流量导入到 Kubernetes 集群中的服务。在开始之前,请确保您已经正确安装了 Rancher 平台和 Nginx Ingress 控制器。

TechInk的博客 1311

格林函数的打洞法

格林函数的打洞技巧: 总结: 1.对于极值点需要打洞 因为区域D应为单连通区域,所以对于不连续的区域需要打洞处理 2.打洞后的“洞”要便于计算第二类线积分 通常为圆或椭圆 第二类线积分 微元是dx或者dy 可以直接计算 或 看几何意义(高dx ,高dy)即可 在计算时注意方向(曲线与坐标轴的方向) ...

ResumeProject的博客 4753

YOLO11涨点优化:注意力魔改 | 引入Deformable Attention (可变形注意力),灵活感受野自适应复杂形变目标

Deformable Attention为YOLO11带来的不仅是2.6个百分点的mAP提升,更是一种全新的“形变感知”范式。标准卷积的固定感受野在非刚性目标、多尺度变化和遮挡场景下力不从心——Deformable Attention恰好填补了这一空白。从架构设计到代码实现,从竞品对比到部署方案,从生态工具到安全风险,本文覆盖了将Deformable Attention引入YOLO11所需的全部知识链路。

2601_95807009的博客 284

抽象代数学习笔记五《群:群在集合上的作用,定义与例子》

抽象代数学习笔记五《群:群在集合上的作用,定义与例子》 学习笔记参考:《近世代数初步》第2版 高等教育出版社——石生明编著 注:本篇笔记根据博主个人数学的掌握情况整理 课后习题 1、VVV 是某域 FFF 上 nnn 维线性空间,G=GL(V)G=GL(V)G=GL(V) 是 VVV 上全线性变换群,令 MMM 为 VVV 的全部子空间的集合,证明 GGG 在 MMM 上有群作用; 2、 令 GG...

qq_39800591的博客 2312

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

极限的计算方法

极限的计算方法 等价无穷小 洛必达法则 泰勒展开式 压缩映像(数列极限) 夹逼定理(求极限和) 定积分定义(求极限和)

ResumeProject的博客 1162

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

把4,7,11,10,13,9按顺序插入形成平衡二叉树的高度是几

网易2017实习生招聘笔试题-Java开发工程师 把4,7,11,10,13,9按顺序插入形成平衡二叉树的高度是几 A 3 B 4 C 5 D 6 具体选项忘记了 个人参考答案:高度为3基础知识点扩展:满二叉树:每一层节点数均达最大值完全二叉树:除了最外层,其余层上节点数均达最大值,且最外层节点均集中在左侧二叉排序树又称二叉查找树,亦称二叉搜索树:左子树上的值均小

xhyxxx的博客 5678

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

图解平衡二叉树的构造过程(无算法)

#平衡二叉树

weixin_45278641的博客 4885

数据结构之:平衡二叉树

数据结构学习之:平衡二叉树一、 平衡二叉树概述二、平衡二叉树单旋转1、右旋转2、右旋转三、平衡二叉树双旋转四、代码实现平衡二叉树的单、双旋转 一、 平衡二叉树概述 平衡二叉树(AVL树)按个人理解其实是对二叉排序树的一个升级,它其实是解决二叉排序树的一个缺陷,那么二叉排序树存在怎样的缺陷?我们知道二叉排序的查找效率是相对比较高的,不过对于下图这种二叉排序树,它的查找效率并不会提升。 平衡二叉树的出现就是为了解决这种缺陷问题,对我们的二叉树做一个平衡,以便保证它的查询效率,那怎样才能算是一棵平衡二叉树呢?我

bandenger的博客 462

配对积分法

配对积分法 {aI+bJ=ACI+dJ=B \left\{ \begin{array} { l } { a I + b J = A } \\ { C I + d J = B } \end{array} \right. {aI+bJ=ACI+dJ=B​ (A,B为容易求的基本简单的积分。) 最基本的题型 :基本用这种方法的都是求 ∫0∞f(x)af(x)+bg(x)dx  \int_0^\infty\frac{ f(x)}{af(x)+bg(x)}dx \, ∫0∞​af(x)+bg(x)f(x)​dx 假

ResumeProject的博客 1210

iframe中链接新窗口打开

对于iframe不能在新窗口打开 <iframe id="myiframe" src="http://localhost:8080/Login.aspx" scrolling="no"></iframe> 1.添加 target="_blank" <a href="http://localhost:8080/HTMLPage.htm" target="_blank">This Page Link</a> 2.javascript window.locati

ResumeProject的博客 7546

数列递推形式的极限&正定,负定,不定与形式导数

数列递推形式的极限&正定,负定,不定与形式导数 数列的递推形式的极限:递推函数单调增,数列单调 A=(abcd)A=\left( \begin{array} { l l } { a } & { b } \\ { c } & { d} \end{array}\right)A=(ac​bd​) 二次型(x,y)(abcd)(xy)的“形式导数”(abcd)(xy)二次型 \quad (x,y)\left( \begin{array} { l l } { a } & { b }

ResumeProject的博客 1180

binguan宾馆:hotel

框架规范:Apache+JavaEE +Mysql+前端(html5+css3+WEBGL) 本来想用.NET 方式去建构系统,windows自带iis就省去了服务软件的下载与安装,并且对于.net也更熟悉。 但是最终却是用了javaEE,还好Tomcat能在服务器启动,java+mysql还有一个优点就是二者全是开源免费的,因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统。 (iis:Internet Information Services,互联网信息服务) 因为虚拟机的

ResumeProject的博客 453

群作用的例子

群作用在线性代数中的例子 F为数域,GL(n,F)可逆矩阵 A为F上的n∗n矩阵,取T∈GL(n,F) A 为F上的n*n矩阵, 取T\in GL(n,F)A为F上的n∗n矩阵,取T∈GL(n,F) 矩阵的行变换是左乘 TA------------------------左平移 矩阵的列变换是右乘 AT^(-1)------------------右平移 矩阵相似变换是共轭 TAT^(-1)----------------- 共轭 迷向子群为与 J(Jodan ) 可交换的可逆矩阵的全体 合同作用

ResumeProject的博客 945

3. 平衡二叉树(10分)

平衡二叉树(10分) 成绩 10 开启时间 2019年12月1日 星期日 08:00 折扣 0.8 折扣时间 2019年12月25日 星期三 23:55 允许迟交 否 关闭时间 2020年01月1日 星期三 23:55 程序输入一个字符串(只包含小写字母),请按照字符的输入顺序建立平衡二叉排序树,并分别输出二叉树的先序序列、中序序列和后序序列,最后输出该二叉树向左旋转 ...

hywo的博客 820

出租车数据的地图展示

出租车数据的地图展示 实现方法 python数据预处理后将数据导入地图代码。 效果 数据预处理: f1['dropoff_longitude'].fillna(value=f1['dropoff_longitude'].mean(), inplace=True) plt.boxplot(f1["dropoff_longitude"]) plt.show() #超过了上四分位1.5倍四分位距或下四分位1.5倍距离都算异常值,用中位数填充 a = f1["dropoff_longitude"].quantil

ResumeProject的博客 1891

# android笔记 #

FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。 LinearLayout:线性布局,每一个LinearLayout里面又可分为垂直布局(Android:orientation=“vertical”)和水平布局(android:orientation=“horizontal” )。当垂直布局时, 每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。 AbsoluteLayout:绝对布局用X,Y坐标来指定元素的位置

ResumeProject的博客 703
上一篇: 从正切公式到三角代换
下一篇: 常见词缀与组合brev-,bridg-,-ization,r+元音字母+t
FakeOccupational
博客等级 码龄6年 2万+粉丝 1727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值