计算机文件类型

红色和黑色树木:描述,特点

Rudolf拜耳在20世纪70年代初开发了“红黑树”系统。 这个名字是给予了Gimpas和R. Sedgwick的。

什么红黑树

应该注意的是,它们是一种自平衡二叉树,从节点数量提供可数的高度,并在短时间内生成主要和基本的搜索树进程。 这些操作包括附加,删除和查找节点。 在完成节点的应用指定属性,颜色的基础上提供余额。 该属性具有可能的概念之一,并由所提及的颜色之一表示。

从开始(根)到最后(叶)的分支上的黑色单位的数量称为树的黑色高度。

这个词的出现

在他的作品中描述一个自平衡的搜索树,这篇文章的作者甚至不希望成为新词的创始人。 然而,命运命令印刷厂只有两种颜色。 它们还表示加入下一个节点的每个位。

应用

在计算机科学中,红黑树用于产生可比数据,可以包括各种提取物和铭文或数字的部分。

您可以在Actionscript,Python,C ++和几乎任何其他编程语言上创建一个红黑树。 这很简单 红黑Java树也很普遍。

特点

黑色和红色树是二进制坐标系中的搜索树。 在这些系统中,任何节点都具有一定的颜色值。 它可以采用上述符号之一。 除了应用于二叉树的所有条件外,还考虑了所考虑的品种,这些规则也被使用:

  • 节点的颜色是上述两个之一。 没有其他的选择,它也反映在术语的名称中。
  • 树的根部应该总是涂黑色。 然而,例外是可能的,因此与规则的偏离增加了树将自我平衡的风险。
  • 所有叶子都有一个空值(NIL),并用黑色表示。
  • 确保每个红色母体节点的两个后代都是黑色是非常重要的。
  • 从特定节点到任何叶子节点的任何简单过程都提供完全相同数量的黑色结构单元。

有时,红黑树被解释为平淡的二叉搜索树。 它们的差异仅由以下事实确定:代替某些彩色节点,上述值是着色肋。

为什么选择正确的红黑树

黑木和红树是自平衡二叉搜索树最常见的变体之一,其实际上通常被解决。

什么解释了他们的知名度? 实践是懒惰的,值得一提的是。 任何太麻烦和难以使用的东西,同时在应用更简单的方法,死亡或走向遥远的未来时,也会产生类似的结果。 红黑树人群中的这种普遍现象是由于他们经常在质量和平衡水平以及维护狡猾之间提供最佳的平衡。

例如,如果我们将它们与树木平衡度完美的比较,那么可以看出,“理想”的代表强加了不妥协的要求。 在执行排除树木或反转行动的条件下,花费太多时间和精力来稳定这种情况下必要的平衡。

流程

所有其他二进制搜索分支的打印黑色和红色二叉树的过程几乎相同。 这是真的,因为任何黑色和红色的树是经典二叉搜索树的特定变体之一。

但是,在与他们合作时,有必要考虑到直接生产包含或排除数据的行为可能会对黑木结构造成破坏的可能性更大。 一个巨大的优点是,对于物业的重建,需要相对较少数量的动作,例如改变颜色并且往往不到三轮的树。 事实上,所有这些操作都不需要太多时间。

要进行插入或激活元素的操作,必须增加后续节点。 这个功能在所有二叉搜索树中是相似的。 下一步是将节点着色为红色。 唯一的区别是,如果在二叉搜索树中执行插入时首先添加工作表,则黑色和红色不携带任何信息。 因此,代替它们,添加一个内部节点,该节点采用红色及其两个黑色后代。

此外,我们的操作由相邻节点的颜色直接调节。 对他们而言,使用“叔叔”一词。 与家谱树直接比较。 因此:

  • 必须始终实现所有叶子保持黑色的特征。
  • 可以中断每个红色节点的两个导数保持黑色的事实的顺序。 但是,只有当您添加红色节点时,才会将黑色的颜色更改为红色或转动整个树。
  • 还要注意,可以违反从节点到表单的序列,包括相同数量的黑色节点。 只有当黑色节点打开时,红色元素变为黑色,而在黑色重新变成红色的情况下才会发生。 这也可以在转动树的同时完成。

研究了上述所有内容后,不难了解如何在红黑树中进行搜索。

这样一个简单的概念作为树的解释是有趣的,它的颜色描述 - 红黑色或黑褐色。 现在你也知道这一点。

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 zhcn.atomiyme.com. Theme powered by WordPress.