2-3-4树与红黑树的对应关系

课堂练习及课后作业2.1:外部中断 本关任务:通过相关知识以及实验回答:版本 1 内核的第 6 次时钟中断发生时,断点和恢复点(指令地址)分别是多少?本关任务:修改版本 0 内核,使得每发生 100 次时钟中断,就在屏幕上输出一个字符‘t’和当时的进程号,如“t(0)”表示0号进程运行时发生了时钟中断。本关任务:通过实际操作回答在输出第一行 0/1 字符的过程中(如下图所示),共发生了几次时钟中断?本关任务:修改版本 1 内核源码,使得每次时钟中断发生时,都在屏幕上输出字符‘t’。分析版本1内核,找到第一次时钟中断的恢复点地址。 阅读详情

        2-3-4树和红黑树之间可以建立等价关系,2-3-4树的插入和删除过程也可以对应到红黑树的旋转与颜色变换过程。红黑树和2-3-4树之间的结点对应关系如下面的图:


图1    3结点与4结点的拆分


图2  一棵2-3-4树转换为红黑树


 图3  2-3-4树转换为红黑树的方式不唯一(图(来自REF[3])中的个别错误不用太计较^_^)

        算法导论中红黑树的类型定义是大致这样的:

typedef struct RBTreeNode{
	ElementType key;
	ColorType color;
	RBTreeNode *lchild,*rchild;
	RBTreeNode *p;
} RBTreeNode; 
        数据结构(C语言版)Eliis Horowitz Sartaj Sahni Susan Anderson-Freed一书中给出了一种类型定义:

typedef enum {red,black} color;
typedef struct red_black *red_black_ptr;
typedef struct red_black {
	element       data;
	red_black_ptr left_child;
	red_black_ptr right_child;
	color left_color;
	color right_color;	
};
第二种定义可以和上面的三幅示意图直接对应。可以看出,若在2-3-4树中的位于一个结点中的几个元素在拆分为单个红黑树结点时他们之间的连接线是红色的,而原来在2-3-4树中位于父子结点的元素在拆分结点以后形成的红黑树结点之间的连接线是黑色的。红色线可以看成虚线,表示在2-3-4树中原本是在一个结点内的;黑色线可以看成实线,对应2-3-4树中父亲节点与儿子结点的链接关系。在算法导论中的类型定义中,父子结点的链接不带颜色信息,而将颜色信息转化成结点本身的颜色信息,这个本身的颜色信息可以表示为其父结点指向该结点的指针颜色。或者换个角度(个人观感)红黑树中黑色父节点与红色儿子结点的链接线即对应以上3幅图中的红色线条(BR->虚线/红线),而红色父节点与黑色儿子结点见的链接线对应以上3幅图中的黑色线条(RB->实线/黑线)。
REF:

1,算法导论

2,数据结构(C语言版) Ellis Horowitz Sartaj Sahni Susan Anderson-Freed

3,http://www.cnblogs.com/guoyiqi/archive/2011/06/08/2129310.html

鸿蒙接入微信支付 微信H5网页在鸿蒙系统的适配方法(含支付兼容方案) 微信H5适配鸿蒙系统 | ArkWeb识别 | 鸿蒙浏览器UA | 微信支付鸿蒙适配 | 鸿蒙微信判断方式 微信H5网页鸿蒙系统适配指南 针对微信H5网页在鸿蒙系统出现的兼容问题,本文提供完整适配方案。关键点包括: 环境识别: 阅读详情

相关推荐

用python将dycom .dcm格式图像转换为nifti .nii

因为发现目前搜索到的多数中文教程并不能正确将FMRI图像正确转换,例如很多用simpleITk的seriesreader的,所以写了一下自己正确转换的方法。因为FMRI是一个4D数据,有时间轴,所以用seriesreader读写出来的图像把时间轴维度给降维了。当然你用SPM12工具的dycom import也是能正确转换的,但是我还是喜欢python这样的,代码直接简单。

qq_41103479的博客 3609

红黑树原理学习以234树来学习(1)插入操作

** 前言: 234树在大部分的程序语言中实现比较困难,所以等价的用红黑树来实现。 核心思想:红黑树的红色节点上移到父亲节点就变成了一颗234树。 一:红黑树与234树的等价关系如下: 一个234树可以变成多个红黑树,原因在于三节点(有两个元素的节点)变成红黑树后可以变成 下面这两种。 二:现在开始从234树的插入操作来说明红黑树的插入操作。 1.当插入位置为234的2节点位置(只有一个元素),0或2(图一),那么则变成(图二),很明显整个234树的机构不用调整。那么对应红黑树来说可以想象一下当前红黑树

微风吹付博客 1181

电磁兼容标准体系解析:从基础到认证的完整指南

本文系统解析了电磁兼容(EMC)标准体系,从基础概念到认证流程提供完整指南。文章阐述了EMC对于产品可靠性与市场准入的重要性,详细拆解了基础标准、通用标准、产品类标准及认证流程四层结构,并结合5G设备与工业控制等实战案例,为工程师提供了从设计初期到认证测试的高效应用策略。

weixin_29294975的博客 355

红黑树(基于2-3树等价)

红黑树是一种常见的自平衡二叉查找树,经常使用于关联数组、字典,在各类语言的底层实现中被普遍应用,Java的TreeMap和TreeSet就是基于红黑树实现的。

数据工匠记 454

⭐⭐⭐全网最详细YOLOv8教程,从环境配置到自己训练,再到数据集的制作,包的各位⭐⭐⭐

问题原因:当你“pip install ultralytics” 时,torch和torchvision会作为它的依赖一起安装了,当执行“pip install torch torchvision torchaudio --index-url。”时,会卸载torch,然后再安装torch+cuda版本,但是不会自动卸载torchvision已有版本,然后再安装torchvision+cuda版本。🎉🎉🎉恭喜各位道友,已经可以训练模型了,现在就是制作自己的数据集,所谓申神通秘境,随心所欲,万物皆可识别也

weixin_74840239的博客 7492

从桨叶设计到电机匹配:手把手教你调出无人机最佳动力组合

本文系统介绍了无人机动力系统的核心匹配原则,重点解析了如何通过测试与数据分析,优化螺旋桨与电机的组合,从而显著提升系统力效与续航。文章提供了从参数解读、实战测试到深度调优的完整指南,帮助开发者解决电机过热、推力不足等常见问题,实现无人机性能最大化。

weixin_29305313的博客 239

数据结构学习,2-3树与红黑树(java语言)

数据结构学习,2-3树与红黑树(java语言)1.‘2-3’树1.1 什么是‘2-3树’1.2 ‘2-3树’如何保持绝对平衡?2.红黑树2.1红黑树的性质2.2红黑树与‘2-3’树的等价关系2.3左旋转2.4flipColors(颜色翻转)2.5右旋转2.6左旋转、右旋转、颜色翻转的关联性2.7向红黑树中添加节点3.红黑树的复杂度分析4.总结 1.‘2-3’树 1.1 什么是‘2-3树’ 2-3树...

weixin_44058809的博客 766

图相似度模型(论文篇)

图相似度模型

weixin_43702653的博客 5748

红黑树 && 2-3树

6、严格意义上,红黑树不是平衡二叉树,而是保持“黑平衡”的二叉树。添加37 (注意:添加操作永远不会添加到空位置,第一个节点除外)5、从任意一个结点到叶子结点,经过的黑色结点都是一样的。4、如果一个结点是红色的,那么他的孩子结点都是黑色的;3、每一个叶子结点(最后的空节点)是黑色的;1、每个结点或者是红色的,或者是黑色的;对于红黑树:所有的红色结点都是左倾斜的。重要性质:2-3树是一棵绝对平衡的数。2、根节点是黑色的;2、红色结点表示融合的结点。二、红黑树与2-3树的等价性。1、红色结点向左倾斜。

weixin_56846554的博客 493

探索Python融合地学:一文解决osgeo库安装失败问题

总结一下,要安装osgeo模块,关键在GDAL依赖库的安装,如果能够顺利安装GDAL依赖库,因其是osego的模块,因此osgeo的部分模块也能够得到自动安装,此时再运行代码,发现代码并不报错,能够正常运行了。第一步,我们要安装imagecodecs库,它支持多种常见的图像格式,当然也包含我们的目标tif格式,为方便后续的图像处理和安装osgeo模块,先安装此库。目前GDAL已经更新到了3.10版本,这里主要看你的Python版本是上面,小编用的是Python3.13,电脑是64位的,因此,我们选择。

Promising_GEO的博客 5461

windows下玩转vllm:在wsl下安装vllm

当前,部署通义千问2.5-vl已经是一件箭在弦上,不得不发的事儿了。网上搜了一下,发现还是用vllm用的比较多。于是乎,这就开始尝试部署vllm。但是我们之前说了,vllm是不支持直接在windows上部署的,我们还得搞wsl或者docker。咱今天先尝试使用wsl进行安装哈。

xiezhipu的博客 4137

2-3-4树与红黑树

概述 234树和红黑树是完全等价的,红黑树本质上就是234树;由于234树是一棵高度平衡的树,实现起来比较复杂,所以一般通过红黑树来实现234树,而红黑树同样保证了O(logN)的时间内完成查找、插入和删除操作。 红黑树的定义 节点只能是黑色或者红色。 根节点必须是黑色。 每个叶子节点是黑色节点(称之为NIL节点,又被称为黑哨兵);可以理解为红黑树中每个节点都有两个子节点,除了黑色的空节点。 每个红色节点的两个子节点都是黑色(或者说从每个叶子节点到根的所有路径上不能有两个连续的红色节点)。 从任一节点到它

抽象的螺旋 1096

C++高级数据结构算法 | 二叉树的四种遍历算法详解(递归与非递归实现)

二叉树遍历方法 、前序遍历算法 、中序遍历算法 、后序遍历算法 、层序遍历算法

ZY-JIMMY 2565

2-3-4树(jdk8的TreeMap的红黑树)

2-3树:插入变成2个节点正常插,变成3个节点就要提升中间节点和分裂子节点,满足:要么没有子节点,要么2个子节点,要么3个子节点。 2-3-4树:插入变成2个不动,插入变成3个不动,插入变成4个提升原来中间节点和分裂子节点,满足:要么没有子节点,要么2个子节点,要么3个子节点,要么4个子节点。 2节点黑色,3节点左倾和右倾,4节点上黑下2红。 左倾2-3树...

weixin_30596343的博客 189

计算机控制技术及应用

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

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

红黑树详细笔记

红黑树、2-3-4树 – 潘登同学的图论笔记 文章目录红黑树、2-3-4树 -- 潘登同学的图论笔记2-3-4树红黑树红黑树与2-3-4树的对应关系红黑树节点红黑树红黑树的插入操作测试代码红黑树的删除测试红黑树删除 2-3-4树 红黑树是2-3-4树的一种实现形式,只是2-3-4树的编程不太好写,但是2-3-4树的思想还是比较简洁明了滴… 2-3-4树是四阶的balance tree,他属于一种多叉查找树 有如下要求 1.所有叶子节点都拥有相同的深度 2.节点只能是2-节点,3-节点,4-节点之一 3.

weixin_52185313的博客 1113

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

红黑树实现原理及实现和2-3-4树之间的对应关系

为了想彻底掌握红黑树的基础知识和实现原理,为此写了这篇博客以便日后复习和使用,加深印象,同时参考了其他人的一些想法,主要的学习参考链接可以查看以下三部分,对红黑树知识的掌握大有帮助: 出处:https://www.cnblogs.com/nullzx/ 从2-3-4树到红黑树(上):https://www.cnblogs.com/nullzx/p/6111175.html 从2-3-4树到红...

chenwendangding的博客 346

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

红黑树原理【2-3-4树】(中)

红黑树 2 3 4 树对应关系

qq_33330414的博客 395

(课外扩展)2-3-4树和红黑树的关系

二叉树: 查找前驱节点:小于当前节点的最大值。 查找后继节点:大于当前节点的最小值。(注:中序排序才有前驱节点和后继节点) 二叉树的删除: 叶子节点直接删除,因为没有子节点。 只有一个子节点的用子节点替代(本质上就是找前驱节点和后继节点,左节点为前驱节点,右节点为后继节点)。 有两个子节点的需找到替代节点(替代节点就是前驱节点或者后继节点,两个节点都可以)。 如下图所示:如果我们要删除2节点,2节点的前驱节点为1.5后继节点为2.5,因此这两个节点均可以替代2节点。 替代之后二叉树...

qq_42138448的博客 273

从2-3-4树开始理解红黑二叉树(JAVA代码手撸版)

红黑二叉树,java 手撸版

fangfengzhen115的专栏 1300

红黑树2---从-2-3-4树到红黑树的演变过程以及插入算法实现原理

基本二叉排序树BST,当输入序列有序时,树的高度会急剧增加,最坏情况下时间复杂度为O(N)。 因此进一步演变为2-3-4树,2-3-4树节点类型有3种,2节点,3节点以及4节点,最重要的性质是每个叶子结点到根节点的路径长度一致,其最坏情况下为O(logN)。由于2-3-4树节点类型过大,进行插入以及查找时,需要进行节点类型判断,过于繁琐。 因此利用红连接的概念将2-3-4树转化为红黑树,即红黑...

大魔王 750

红黑树与B树的隐秘联系:从2-3-4树看RB-Tree的设计哲学

本文深入探讨了红黑树(RB-Tree)与2-3-4树的隐秘联系,揭示了红黑树设计背后的B树哲学。通过分析红黑树的原理和操作,展示了其如何通过颜色标记和旋转规则模拟2-3-4树的平衡特性,为高效的数据检索和操作提供了理论基础和实用指导。

weixin_29251567的博客 263

图文详解红黑树

学习红黑树就必须先了解2-3-4树,因为红黑树就是来源于2-3-4树。感兴趣的可以去我的博客查看。 2-3-4数和红黑树的对应关系 首先,2-3-4数有4中节点类型,2节点、3节点、4节点另加一个裂变状态。请牢牢记住这几种2-3-4树节点与红黑树对应关系的状态。 2节点:全黑 3节点:上黑下红(分为两种状态,一种是红的在左面叫 左倾,另一种是红的在右面叫 右倾,从而有一种结论:一颗2-3-4树对应多颗红黑树,一颗红黑树只对应一颗2-3-4树) 4节点:上黑下红 裂变节点:如图1-2,如果11节点是根节点,则

miss_na的博客 425

【数据结构】高级树——红黑树太难懂?换个思路,从 2-3 树的分裂合并聊起

2-3树是一种多路查找2-节点:包含1个键和2个子节点(左子树所有键小于该键,右子树所有键大于该键),与BST节点类似。3-节点:包含2个键和3个子节点,通常记为(a, b),其中a < b。左子树所有键小于a,中间子树所有键介于a和b之间,右子树所有键大于b。重要性质:所有叶子节点都在同一层,因此树是完美平衡的。下图展示了2-3树的结构(用文字描述):[50]/ \这里根节点是2-节点(50),左子节点是3-节点(20,30),右子节点也是3-节点(60,80)。2-3树。

2402_88094563的博客 403

6.11 2-3-4树

简单说明了为什么红黑树同构于B-树

你的指尖有改变世界的力量 433

TreeMap红黑树解析 (1)

​ TreeMap完全是红黑树实现的, 是由Josh Bloch 和 Doug Lea两位并发领域的大师共同完成,https://www.cs.usfca.edu/~galles/visualization/RedBlack.html 这个外网可以演示标准红黑树的执行过程。​ 标准红黑树:删除操作找前驱节点替代原删除节点​ TreeMap: 删除操作找后继节点替代原删除节点这两种方案实际操作效果是一样的,只不过树的结构不一样,但是对应的红黑 树都是平衡的,在此,先说一下红黑树的性质,以便后续使用。

Qvv1koa的博客 1340

红黑树相关知识

红黑树的所有叶子节点都是黑色(此处提到的叶子其实是空链接,因篇幅问题全文未画出)

bear_xin的博客 185
上一篇: 2-3-4树
下一篇: 红黑树的基本概念
Scandinavians
博客等级 码龄19年 36粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值