中易网

红黑树的用途

答案:2  悬赏:70  
解决时间 2021-01-09 01:39
红黑树的用途
最佳答案
红黑树用在关联数组、字典的实现上。需要的空间比散列表小。 任何键值对应,需要随机存储和键有序的情况都可以用。
一. 基本概念
1.红黑树(Red Black Tree) 是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。
2.它是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的"红黑树"。
3.红黑树和AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。
4.它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,这里的n 是树中元素的数目。
二. 数据结构
它的统计性能要好于平衡二叉树(有些书籍根红黑树据作者姓名,Adelson-Velskii和Landis,将其称为AVL-树),因此,红黑树在很多地方都有应用。在C++ STL中,很多部分(包括set, multiset, map, multimap)应用了红黑树的变体(SGI STL中的红黑树有一些变化,这些修改提供了更好的性能,以及对set操作的支持)。其他平衡树还有:AVL,SBT,伸展树,TREAP 等等。
三. 性质
性质1. 节点是红色或黑色。
性质2. 根节点是黑色。
性质3.每个叶节点(NIL节点,空节点)是黑色的。
性质4.每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
性质5. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。
全部回答

红黑树和AVL树一样都对插入时间、删除时间和查找时间提供了最好可能的最坏情况担保。这不只是使它们在时间敏感的应用如即时应用(real time application)中有价值,而且使它们有在提供最坏情况担保的其他数据结构中作为建造板块的价值;例如,在计算几何中使用的很多数据结构都可以基于红黑树。
红黑树在函数式编程中也特别有用,在这里它们是最常用的持久数据结构之一,它们用来构造关联数组和集合,在突变之后它们能保持为以前的版本。除了O(log n)的时间之外,红黑树的持久版本对每次插入或删除需要O(log n)的空间。
红黑树是 2-3-4树的一种等同。换句话说,对于每个 2-3-4 树,都存在至少一个数据元素是同样次序的红黑树。在 2-3-4 树上的插入和删除操作也等同于在红黑树中颜色翻转和旋转。这使得 2-3-4 树成为理解红黑树背后的逻辑的重要工具,这也是很多介绍算法的教科书在红黑树之前介绍 2-3-4 树的原因,尽管 2-3-4 树在实践中不经常使用。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
泽州县金村镇孟匠中学校地址有知道的么?有点
高温机械设备更新换代周期一般是多少年?
铭尚发艺地址有知道的么?有点事想过去
帕萨特领驭1.8t行车发啃升档无力
双十一,男友说等下要给他,我要给他吗?
信息论与编码学的是啥?
佛山哪里有酒水批发市场
翔升GT240黄金版TC512D3
关于t恤英语作文三句话
梁启超最初翻译而来的"革命"最初是什么意思
根号3乘根号12等于?
理光相机的grd 3 grd4 到底有什么区别呀?
2016月12日最新dj音乐
不结金丹不坐禅,饥来吃…饭。后一句是什么
中国为什么要在西太平洋军演?
推荐资讯
微商小白没有客源怎么办?
停车场(汇元上城西)地址有知道的么?有点事想
细节描写好句要有书名
南宁市哪里有卖壮族民族服饰的?最好是手工做
鑫阳旅店(育新路)怎么去啊,有事要去办理
1.记载着中国古代孝文化的第一部书籍是( )
液晶显示器IPS+LCD与TN+LED到底谁强
线代中是不是不同的特征值对应的特征向量必是
摩尔庄园大结局摩乐乐怎么样了
CAD一用定义块 b 图形就没了怎么办
看面相 说说运势
上海至呼和浩高速公路多少公里
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?