红黑树定理证明

算法导论第13(十三)章红黑树 红黑树是一般的二叉查找树的一种较为”平衡的“ 阅读详情

定理证明

基本概念

树的深度和高度:
树的深度是从根节点开始(其深度为1)自顶向下逐层累加的,而高度是从叶节点开始(其高度为1)自底向上逐层累加的。

证明:内部节点最多,内部节点最少

如果一棵红黑树的黑高为 k,则其内部节点最多为,做少为:

内部节点最多时的情形为:任何一个简单路径上,黑红黑红黑宏,的循环排列,
此时红色节点数目达到最大,树高也达到最大,最大为:2k,此时内部节点为:22k−12^{2k}-122k−1
内部节点最少时的情形为:全部均是黑色节点的完全二叉树;
此时红色节点数目为 0,树高达到最低,为:k
内部节点数量为:2k−12^k-12k−1

证明:最长路径至多是最短路径的两倍

反证法

在一棵红黑树中,从某节点 x 到其后代叶节点的全部简单路径中,最长的一条至多是最短一条的 2 倍。
设最长的路径为 (a1,a2,…,as)(a1,a2,…,as)(a1,a2,…,as)
由红黑树的性质:如果一个节点是红色节点,则其两个子节点为黑色节点,⇒ 这条简单路径上至少一半的节点为黑色;
则红色节点的数量:≤⌊s−12⌋≤⌊s−12⌋≤⌊s−12⌋,因此黑色节点的数量至少为:≥⌈s+12⌉≥⌈s+12⌉≥⌈s+12⌉
设最短的路径为 (b1,b2,…,bt)(b1,b2,…,bt)(b1,b2,…,bt)
又由红黑树的任何一条简单路径的黑高相同,因此,t≥⌈s+12⌉t≥⌈s+12⌉t≥⌈s+12⌉。然后通过反证法进行证明,s>2ts>2ts>2t所以有:

t≥⌈s+12⌉≥⌈2t+12⌉=t+1t≥⌈s+12⌉≥⌈2t+12⌉=t+1t≥⌈s+12⌉≥⌈2t+12⌉=t+1
出现矛盾。

证明:一棵有 n 个内部节点的红黑树的高度至多为 2lg(n+1)2lg(n+1)2lg(n+1)

其中lg lglg是以2为底的对数.

  • 首先根据性质我们可以知道一颗红黑树中,任何你个节点x的左子树和右子树各自含有多少个黑色的节点.根据性质5,他们含有的黑色节点数应该相等.而且和父节点含有的节点数之间的关系是相等或-1的关系.(父节点是否是黑节点的不同导致-1)
  • 假设我们用bh(x)来表示二叉树当前节点到叶节点所含有的黑色节点个数(不含当前节点).那么可以知道节点x的左子树和右子树的任何一条到叶子节点的路径都含有的黑色节点数为bh(x)bh(x)bh(x)或bh(x)−1bh(x)−1bh(x)−1
  • 由此可见一个红黑树的节点数至少含有2bh(t)−12^{bh(t)}−12bh(t)−1个.其中t是这颗红黑树的根节点.
  • 又因为bh(t)bh(t)bh(t)和二叉树整体高度h(t)h(t)h(t)含有一定的关系.这个关系式h(t)/2⩽bh(t)h(t)/2⩽bh(t)h(t)/2⩽bh(t)(由红黑树的性质4可得).这样算来可以获得不等式

n⩾2bh(t)−1⩾2h(t)/2−1n⩾2^ {bh(t)−1} ⩾2 ^{h(t)/2}−1n⩾2bh(t)−1⩾2h(t)/2−1
由此推出
h(t)⩽2lg(n+1)h(t)⩽2lg(n+1)h(t)⩽2lg(n+1)

参考: https://blog.youkuaiyun.com/luixiao1220/article/details/104648112/
参考: https://blog.youkuaiyun.com/lanchunhui/article/details/75905478

Foundation of Algorithm 知识笔记加习题总结 前言 这个笔记旨在于复习和准备算法分析的基本知识,使用的课程是NYU courant的foundation of Algorithm. 本笔记会根据老师的进度实时更新。 第一章 基本数学知识和渐进分析(Basic mathematical knowledge and asymptotic analysis) 渐进分析符号(asymptotic symbol) 1.O(g(n))={f(n):∃ constants c,n0>0 s.t. ∀n≥n0:f(n)≤c 阅读详情

相关推荐

算法导论第四版:为什么算法教材教的是证明而非写代码?

理解算法不仅需要能写出可运行的代码,更关键的是掌握复杂度分析与正确性证明的方法。渐近记号(如Θ、O、Ω)为算法性能提供了严格的数学刻画,循环不变式则把“程序正确”变成可验证的逻辑链。借助递归树和主定理,可以系统剖析分治算法的运行时间;动态规划、红黑树、NP完全理论等主题,则展现了从构造算法到识别问题难度的完整思维路径。这些能力正是计算机科学中算法分析与设计的基础,而《算法导论第四版》正是这样一本以证明为主线、以工程为落点的经典教材。

weixin_27027459的博客 333

红黑树

一、红黑树性质二叉搜索树中若一个节点没有父节点或子节点则该节点相应属性的值设为NIL,我们视NIL为二叉搜索树的叶节点(外部节点),带关键字的为内部节点。一棵红黑树是满足下列五条性质的二叉搜索树: 1. 树的每个节点不是红色就是黑色 2. 树的根节点是黑色 3. 树的每个叶节点(NIL)为黑色 4. 若节点是红色则它的孩子必须是黑色(若有孩子的话) 5. 树中每一个节点到其

知行且执行 970

算法导论英文原版PDF工程化学习路径:从检索到证明的实战指南

算法复杂度分析是工程实践中的核心能力,其原理基于递归式求解与渐进界推导。掌握主定理、递归树等工具,能精准评估代码性能,避免隐藏的低效操作。在面试准备、系统优化和论文研究中,这些技术价值显著。应用场景包括排序算法选型、数据结构设计及大规模数据处理。本文以《算法导论》英文原版PDF为例,分享如何通过本地检索、章节取舍和代码对拍,将理论教材转化为可随时查阅的算法字典,帮助读者真正啃下这本经典。

weixin_30768881的博客 176

《算法导论3rd第十三章》红黑树

算法导论 第十三章 红黑树 AVL树 平衡二叉树

懒猫的脚印 1799

算法导论第四版:从大O到红黑树,掌握算法分析的本质

渐近分析是算法设计的基石,大O符号并非简单的性能上限,而是描述函数增长阶的集合语言。理解O、Ω、Θ的精确含义,才能区分“代码能跑”与“算法正确”的本质差异。递归式、主定理、摊还分析等工具,帮助工程师在数据结构和图算法中做出理性选择。红黑树通过颜色约束平衡代价,B树面向磁盘IO优化节点存取,Dijkstra算法的贪心不变式在负权图中失效——这些经典问题的分析框架,正是算法导论第四版持续迭代的价值所在。从排序、矩阵乘到在线算法和机器学习,渐近思维贯穿始终,为实际工程中的算法选型与复杂度评估提供坚实依据。

weixin_33984032的博客 221

算法教材精读:从伪代码、不变量到复杂度边界

算法分析的起点不是代码,而是渐近复杂度与数据结构不变量:用Θ/O/Ω刻画增长率,借主定理拆解分治递推,判断代价随规模如何变化;再用黑高、装载因子等约束说明结构为何稳定。把算法从实现语言中剥离,价值在于让正确性与性能可验证,并指导红黑树、B树、哈希表、动态规划与贪心算法在真实工程中的选型与边界控制。围绕伪代码教材的推演链,结合可执行判定器、摊还分析与随机对拍,收敛到复杂度边界和近似设计的工程实践。

weixin_32308101的博客 27

算法导论-9.红黑树习题

这一篇解决《算法导论》中红黑树章节的部分习题,在上一篇自己亲自实现红黑树后,解决这些题目就轻松多了。 练习13.1-6 在一棵黑高度为 $k$ 的红黑树中,内节点最多有多少个?最少有多少个? 黑高度为 $k$ 的二叉树,全高度最小为 $k+1$,最大为 $2k+2$ 。内节点最多有 $2^{k+1}-1$ 个,这种情况下红黑树中没有红节点,黑节点全满(满足所有叶子节点黑高度一致的条件...

dayuan5183的博客 1682

新手避坑指南:手把手教你从零编写DC综合的.synopsys_dc.setup配置文件

本文详细介绍了如何从零开始编写DC综合的.synopsys_dc.setup配置文件,帮助新手避开常见误区。内容涵盖工艺库路径设置、核心参数详解、实用调试技巧以及高效配置模板,特别强调了配置文件在数字IC设计流程中的重要性。通过实战案例和常见报错解决方案,读者可以快速掌握DC综合配置的关键技能。

weixin_30517215的博客 296

红黑树相关定理证明

参考http://hxraid.iteye.com/blog/611816,定理证明有修改红黑树的性质与定义红黑树(red-black tree) 是一棵满足下述性质的二叉查找树:1. 每一个结点要么是红色,要么是黑色。2. 根结点是黑色的。3. 所有叶子结点都是黑色的(实际上都是Null指针,下图用NIL表示)。叶子结点不包含任何关键字信息,所有查询关键字都在非终结点上。4. 每个红色结点的两个...

fjscqjj1的博客 1690

别再只盯着报点率了:聊聊电容触摸屏算法里那些不为人知的‘软实力’

本文深入探讨了电容触摸屏算法中常被忽视的‘软实力’,包括环境噪声干扰、信号衰减补偿和多物理场耦合等核心挑战。通过对比消费电子与工业场景的算法需求,揭示了触摸算法在不同应用中的技术分野。文章还提供了实用的算法评估方法和前沿发展趋势,帮助开发者全面了解电容触摸屏技术的隐秘战场。

weixin_42524276的博客 389

2万字大厂面经:小米嵌入式面试题及参考答案(持续更新)

BIOS (Basic Input/Output System) 是一种存储在ROM中的固件程序,它为计算机提供了最基础的硬件初始化和服务。BIOS主要存在于传统的x86架构计算机中。嵌入式系统的启动流程取决于具体的硬件平台和所采用的操作系统。复位阶段:当系统通电或复位时,CPU进入复位状态。硬件初始化:CPU和必要的硬件设备(如内存控制器)被初始化。加载引导加载程序:引导加载程序(如U-Boot)被加载到内存中。执行引导加载程序:引导加载程序开始执行,初始化更多的硬件设备,并检测存储介质。

大模型大数据攻城狮的专栏 2529

红黑树相关定理及其证明

红黑树有一条性质要求:如果一个节点为红色的,则它的两个子节点都是黑色。这保证了:从根到叶节点(不包括根节点)的任何一条路径上都至少有一半的节点是黑色的。(红黑树的性质还要求:对每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点)。0. 明确一些基本概念 树的深度和高度: 树的深度是从根节点开始(其深度为1)自顶向下逐层累加的,而高度是从叶节点开始(其高度为1)自底向上逐层

5636

小孙学变频学习笔记(二)变频器的逆变电路

本文主要介绍了变频器中逆变电路的核心器件IGBT及其应用。IGBT是一种电压控制型三端半导体开关器件,具有开关频率高、功耗低的优点,在变频器中仅使用截止和饱和导通状态。文章详细分析了IGBT的结构特性、与晶闸管的区别,以及由四个IGBT组成的直流转交流逆变电路原理。重点阐述了IGBT并联反向二极管的作用:提供电流反向通路、避免反向电压损坏器件、提高开关效率等。最后提供了相关学习参考网址供读者进一步研究。

qq_43091070的博客 1195

高并发压测第3小时:资深架构师手撕红黑树,应届生现场推导CAP定理证明

在高并发压测的紧张氛围中,资深架构师与应届生展开了一场技术较量。面对复杂的红黑树问题,资深架构师从容不迫地手撕代码,而应届生则在现场推导CAP定理的证明,展现了扎实的理论基础。双方在技术交流中碰撞出激烈的火花,最终共同解决了一个棘手的并发问题。

Ared 646

OpenClaw 超级 AI 实战专栏【模型推理与实战】(二)官方预训练模型下载与使用

OpenClaw 预训练模型需按「固定目录结构」存放(模型文件夹包含权重 + 配置文件),否则会加载失败;核心流程:下载模型→验证文件完整性→加载模型→传入图片执行推理→可视化结果;常见问题集中在「路径错误」「显存不足」「文件缺失」,按文中方案可快速解决。

qq_36130719的博客 307

XCP实战系列介绍09-基于Vehicle Spy进行XCP测量步骤详解

详细介绍如何使用Vehicle Spy进行XCP测量

initiallizer的博客 1391

白板编程危机:手撕红黑树卡壳的应届生,P7面试官现场推导CAP定理

在一场紧张的终面中,应届生在白板编程环节被要求手撕红黑树,但因卡壳陷入困境。P7面试官抓住机会,现场推导CAP定理的证明,试图引导应届生思考分布式系统的设计原则,而应届生则努力回忆算法细节,试图挽回局面。

Ared 823

79、昇腾系列服务器/昇腾系列推理卡/昇腾系列嵌入式开发板+Dify+one api部署DeepSeek-R1-Distill-Qwen-32BW8A8+RAG本地模型知识库和负载均衡双实例

阶段,安装过程缺什么,,在docker外面git下源码,进入容器内部进行量化,这里的容器建议在创建个8卡的容器,双卡容器量化会显示npu显存不够,除非你用cpu转模型,我就懒得创建容器了,使用cpu量化吧,巨慢;创建容器,进入容器,计划使用两张昇腾NPU卡推理DeepSeek-R1-Distill-Qwen-32B的W8A8模型,所以构建的容器用两张卡,选6、7卡吧,0-6号卡可以跑文本嵌入模型、重排序模型;直接进入量化阶段,在容器外面操作即可,环境不用管,因为系统已经默认配置了环境,直接跳到。

sxj731533730 6118

红黑树效率为甚恶魔是log_为什么红黑树的效率比较高

红黑树属于平衡二叉树。它不严格是因为它不是严格控制左、右子树高度或节点数之差小于等于1,但红黑树高度依然是平均log(n),且最坏情况高度不会超过2log(n)。红黑树(red-black tree)是一棵满足下述性质的二叉查找树:1. 每一个结点要么是红色,要么是黑色。2. 根结点是黑色的。3. 所有叶子结点都是黑色的(实际上都是Null指针,下图用NIL表示)。叶子结点不包含任何关键字信息,...

weixin_39989796的博客 129

Git下载与安装

一、Git下载 二、Git安装

欢迎订阅我的“JAVA全栈开发笔记(全)”专栏,价格优惠,仅需19.9元。 6万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

红黑树相对于普通平衡二叉树的优点

黑树属于平衡二叉树。它不严格是因为它不是严格控制左、右子树高度或节点数之差小于等于1,但红黑树高度依然是平均log(n),且最坏情况高度不会超过2log(n)。 红黑树(red-black tree) 是一棵满足下述性质的二叉查找树: 1. 每一个结点要么是红色,要么是黑色。 2. 根结点是黑色的。 3. 所有叶子结点都是黑色的(实际上都是Null指针,下图用NIL表示)。叶子结点不包含任何

zwz2011303359的博客 7719

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

白板编程危机:手撕红黑树卡壳,老炮面试官现场推导CAP定理

在一场紧张的终面中,候选人在白板编程环节遭遇手撕红黑树的难题,卡壳在旋转操作时。此时,技术主管以P7考官的身份步步紧逼,要求候选人现场推导CAP定理的证明过程,制造认知冲突。候选人在极限压力下如何自救,最终是否能够化解危机?

Ared 698

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

高并发压测第3小时:阿里云故障演练现场,P7技术面杀器手撕红黑树卡壳,面试官现场推导CAP定理证明

在高并发压测第3小时,阿里云故障演练现场,面试官是一位精通DDD的架构师,而面试者是一名手写Tomcat的应届生。当被要求手撕红黑树时,面试者突然卡壳,而面试官则现场推导CAP定理证明,制造技术冲突与认知反差。

Ared 798
上一篇: markdown插入公式
下一篇: 【Docker】启动container的时候出现iptables: No chain/target/match by that name
happytaohaha
博客等级 码龄9年 37粉丝 187原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值