红黑树详解

简介: 红黑树详解

1、每个节点或者是红色或者黑色。


2、根节点是黑色。


3、红色节点的两个子节点都是黑色。(从每个叶子到根的路径不会出现两个连续的红色)


4、对于每个节点,从该节点到其叶子节点构成的所有路径上黑节点个数相同。


5、所有的叶子节点都是null节点,并且是黑色。


这里先介绍一下O1),On),Ologn),Onlogn),On^2)。


O1)常数阶:最低的时空复杂度,也就是耗费的时间或者空间与输入的数据大小无关。哈希算法就是典型的O1)复杂度。

Ologn)对数阶:当数据增大n倍的时候,耗时则值增大了8倍,比线性的耗能更低,二分查找法就是利用这个原理。

On)线性阶:代表数据量增大几倍,也就耗时增大几倍。

Onlogn)对数阶乘以n,这个需要乘以n,所以比线性阶的耗时大。

On^2)平方阶:代表着数据增大n倍时,也就消耗n的平方倍。

平方阶上面还有立方阶,指数阶,同理耗时越来越长。

排序二叉树:排序二叉树是有序的,特殊结构的二叉树,可以对所有节点进行检索,但是缺点是当插入的数据正好都是有序的时候,他会退化成链表。这时候时间复杂度就会增加。

平衡树二叉树(AVL)是什么呢,最重要的特性就是最坏的情况下能保证O(logN)的时间复杂度查找,不具备的话可能退化成单链表,时间复杂度会到ON)。


1、每个节点最多只有两个子节点。(二叉)


2、有序:每个节点的值比他左边树所有节点都大。(必须是排序的)


3、每个节点左边树的高度与右边高度不会超过1


为什么会出现红黑树呢,为了防止在极端情况下,二叉树退化成链表导致检索效率大大降低的问题。他肯定是排序二叉树,然后在其基础上,加上了redblack,通过变色和左旋右旋来保持他的特征。

相关文章
|
存储 算法 数据可视化
哈希表法快速求解最长连续序列 | 力扣128题详细解析
哈希表法快速求解最长连续序列 | 力扣128题详细解析
|
存储 算法 Java
|
机器学习/深度学习 C++ Windows
|
网络协议 大数据 5G
大连接时代到来的十大标志之一:用户、战略与网络基础建设
根据中国互络信息中心近日发布的《中国互联网络发展状况统计报告》显示,截至2016年12月,我国网民规模达7.31亿,2016年共计新增网民4299万人,互联网普及率达到53.2%。在这组数据中,手机网民占比达6.95亿,因为老人与儿童可能不会操作PC,但用手机和平板上网则相对容易。
296 0
大连接时代到来的十大标志之一:用户、战略与网络基础建设
|
C++ 编译器 索引
科学计算相关的c++库
Blitz++ 参考网站:http://www.oonumerics.org/blitz/Blitz++ 是一个高效率的数值计算函数库,它的设计目的是希望建立一套既具像C++ 一样方便,同时又比Fortran速度更快的数值计算环境。
1068 0
|
13天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
5251 28
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
8天前
|
存储 定位技术 数据库
CodeGraph 如何让 Claude Code减少 7 成工具调用?
CodeGraph 为 Coding Agent 提供本地代码知识图谱,把函数、类、调用链和框架路由提前整理成“项目地图”,减少盲目搜索和文件读取。它不是新 Agent,而是上下文基础设施,让 Agent 更快找到正确代码路径,平均减少 7 成工具调用。
1038 0

热门文章

最新文章