- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                红黑树 - 维基百科,自由的百科全书新
                    
红黑树 
维基百科,自由的百科全书 
红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在 
1972年由鲁道夫 ·贝尔发明的,他称之为对称二叉B树,它现代的名字是在 Leo J. Guibas 和 Robert 
Sedgewick 于1978年写的一篇论文中获得的。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实 
践中是高效的: 它可以在O (log n)时间内做查找,插入和删除,这里的n是树中元素的数 目。 
 目录 
     1 用途和好处 
     2 性质 
     3 操作 
         3.1 插入 
         3.2 删除 
     4 渐进边界的证明 
     5 参见 
     6 注释 
     7 引用 
     8 外部链接 
用途和好处 
红黑树和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. 节点是红色或黑色。 
性质2. 根是黑色。 
性质3. 所有叶子都是黑色 (叶子是NIL节点)。 
性质4. 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点) 
性质5. 从任一节点到其每个叶子的所有简单路径都包含相同数 目的黑色节点。 
 13 8  1 
           NIL 
          6 
              NIL 
              NIL 
      11   NIL 
           NIL 
    17  15 
           NIL 
           NIL 
      25 22 
              NIL 
              NIL 
         27 
              NIL 
              NIL 
这些约束强制了红黑树的关键性质: 从根到叶子的最长的可能路径不多于最短的可能路径的两倍长。结果是这个 
树大致上是平衡的。因为操作比如插入、删除和查找某个值的最坏情况时间都要求与树的高度成比例,这个在高 
度上的理论上限允许红黑树在最坏情况下都是高效的,而不同于普通的二叉查找树。 
要知道为什么这些特性确保了这个结果,注意到属性4导致了路径不能有两个毗连的红色节点就足够了。最短的可 
能路径都是黑色节点,最长的可能路径有交替的红色和黑色节点。因为根据属性5所有最长的路径都有相同数 目的 
黑色节点,这就表明了没有路径能多于任何其他路径的两倍长。 
在很多树数据结构的表示中,一个节点有可能只有一个子节点,而叶子节点包含数据。用这种范例表示红黑树是 
可能的,但是这会改变一些属性并使算法复杂。为此,本文中我们使用 nil 叶子 或空(null)叶子,如上图 
所示,它不包含数据而只充当树在此结束的指示。这些节点在绘图中经常被省略,导致了这些树好像同上述原则 
相矛盾,而实际上不是这样。与此有关的结论是所有节点都有两个子节点,尽管其中的一个或两个可能是空叶 
子。 
操作 
因为每一个红黑树也是一个特化的二叉查找树,因此红黑树上的只读操作与普通二叉查找树上的只读操作相同。 
然而,在红黑树上进行插入操作和删除操作会导致不再符合红黑树的性质。恢复红黑树的属性需要少量 (O (log 
n))的颜色变更(实际是非常快速的)和不超过三次树旋转 (对于插入操作是两次)。虽然插入和删除很复杂,但操 
作时间仍可以保持为 O (log n) 次。 
插入 
我
                您可能关注的文档
最近下载
- 数字电视地面广播系统介绍.ppt VIP
 - 小红书种草学2025小红书电商双11-亲子母婴行业运营指南.pptx VIP
 - 2024-2025学年初中数学青岛版(2012)九年级下册教学设计合集.docx
 - 天宝蔡司eltac全站仪说明书.pdf VIP
 - 注射用乌司他丁说明书样本.pdf
 - 在全市群众身边不正之风和腐败问题集中整治推进会上的汇报发言材料.docx VIP
 - 兽医内科学与兽医临床诊断学练习题库及答案详解(各地真题).docx VIP
 - 电动钻机司钻房电气控制系统设计.doc VIP
 - 混合动力汽车动力系统参数设计与优化开题报告.doc VIP
 - 小红书2025小红书母婴行业细分场景需求洞察图鉴24页.pdf VIP
 
原创力文档
                        

文档评论(0)