当前位置: 首页 > news >正文

网站服务种类网络推广哪个平台好

网站服务种类,网络推广哪个平台好,温州的高端设计公司,网站建设与搜索引擎营销有什么关系红黑树:一棵自平衡(AVL)二叉查找树(BST) 什么是红黑树 红黑树,Red-Black Tree 「RBT」是一个自平衡(不是绝对的平衡)的二叉查找树(BST)。 红黑树是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(sym…


红黑树:一棵自平衡(AVL)+二叉查找树(BST)

什么是红黑树

红黑树,Red-Black Tree 「RBT」是一个自平衡(不是绝对的平衡)的二叉查找树(BST)。

红黑树是在1972年由Rudolf Bayer发明的,当时被称为平衡二叉B树(symmetric binary B-trees)。后来,在1978年被 Leo J. Guibas 和 Robert Sedgewick 修改为如今的“红黑树”。 

红黑树是一种特化的AVL树(平衡二叉树),都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。 


它虽然是复杂的,但它的最坏情况运行时间也是非常良好的,并且在实践中是高效的: 它可以在O(log n)时间内做查找,插入和删除,这里的n 是树中元素的数目。

红黑树的性质(规则)

红黑树是一种含有红黑结点并能自平衡的二叉查找树。它必须满足下面性质:

性质1:每个节点要么是黑色,要么是红色。

性质2:根节点是黑色。

性质3:每个叶子节点(NIL)是黑色。

性质4:每个红色结点的两个子结点一定都是黑色。

性质5:任意一结点到每个叶子结点的路径都包含数量相同的黑结点。(保证这棵树尽量是平衡的。)


性质1:每个节点要么是黑色,要么是红色。


性质2:根节点是黑色。


性质3:每个叶子节点(NIL)是黑色。
性质4:每个红色结点的两个子结点一定都是黑色。(不能有两个连续的红色节点)


2000的子节点不是黑色,不满足性质4,需要进行“自平衡”操作。



根节点是红色,根据性质1,需要进行“变色”操作。


性质5:任意一结点到每个叶子结点的路径都包含数量相同的黑结点。
从性质5又可以推出:性质5.1:如果一个结点存在黑子结点,那么该结点肯定有两个子结点。

Q&A

Q1.红黑树可不可以全为黑结点?

A:不可以。

反证法:假设有一颗红黑满二叉树结点都为色结点时,此时添加一个色结点,不满足(5)特性,但就算经过旋转,也无法满足(5)特性,大家都色,变不了红黑树


红黑树的自平衡操作

前面讲到红黑树能自平衡,它靠的是什么?

三种操作:左旋、右旋和变色。

红黑树结点的叫法

红黑树结点的叫法如图所示。

我们把正在处理(遍历)的结点叫做当前结点,如图中的D,它的父亲叫做父结点,它的父亲的另外一个子结点叫做兄弟结点,父亲的父亲叫做祖父结点。

红黑树的自平衡的处理可以总结为:

自己能搞定的自消化;

自己不能搞定的叫兄弟帮忙;

兄弟都帮忙不了的,通过父母,找远方亲戚。

红黑树实现的源代码(Kotlin)

红黑树(RBT)的数据结构

public class RBNode<T> 

{

    bool color;//颜色

    T element;//键值

    public RBNode<T> left;//左节点

    public RBNode<T> right;//右节点

    public RBNode<T> parent;//父节点

}

插入

Before
Insert 6000

删除

查询

RB变色

3000 和 4000颜色互换。


不满足性质4:每个红色结点的两个子结点一定都是黑色。需要进行RB变色。


旋转

当破坏了平衡时,在调整的时候需要用到左旋和右旋:

4000节点不满足性质4:每个红色结点的两个子结点一定都是黑色。(5000和4000都是红色)

Single Rotate Left :

以4000节点为中心左旋。


RB 变色:

3000 ←→ 4000 RB color 交换

性能

(1) 查找代价:

由于红黑树性质(最长路径长度不超过最短路径长度2倍),可以说明红黑树虽然不像AVL一样严格平衡,但平衡性能还要比BST要好。其查找代价基本维持在O(logN)左右,但在最差情况下(最长路径最短路径2倍少1),比AVL要略逊色一点。

(2) 插入代价:

RBT插入结点时,需要旋转操作和变色操作。但由于只需要保证RBT基本平衡就可以了。因此插入结点最多只需要2次旋转,这一点和AVL插入操作一样。虽然变色操作需要O(logN),但变色操作十分简单,代价很小。

(3) 删除代价:

RBT删除操作代价要比AVL要好多,删除一个结点最多只需要3次旋转操作。


从根到叶子节点的最大路径不能大于最短路径的两倍长,大致上是平衡的,插入、删除和查找某个值的最坏情况时间都要求与树的高度成比例。

如果查找、插入、删除频率差不多,那么选择红黑树。


参考资料

RBT 操作动画:https://www.cs.usfca.edu/~galles/visualization/RedBlack.html

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

https://www.jianshu.com/p/e136ec79235c



专注分享 Java、 Kotlin、Spring/Spring Boot、MySQL、redis、neo4j、NoSQL、Android、JavaScript、React、Node、函数式编程、编程思想、"高可用,高性能,高实时"大型分布式系统架构设计主题。


文章转载自:
http://bogle.hwbf.cn
http://batrachotoxin.hwbf.cn
http://controvertist.hwbf.cn
http://crossbowman.hwbf.cn
http://cutoff.hwbf.cn
http://systematiser.hwbf.cn
http://fluency.hwbf.cn
http://viscera.hwbf.cn
http://widowerhood.hwbf.cn
http://adventureful.hwbf.cn
http://obturation.hwbf.cn
http://sfx.hwbf.cn
http://gaming.hwbf.cn
http://fertilise.hwbf.cn
http://llanero.hwbf.cn
http://preconvention.hwbf.cn
http://healingly.hwbf.cn
http://upbind.hwbf.cn
http://impropriator.hwbf.cn
http://fille.hwbf.cn
http://nachlass.hwbf.cn
http://lye.hwbf.cn
http://threesome.hwbf.cn
http://scheming.hwbf.cn
http://seroepidemiology.hwbf.cn
http://incarnation.hwbf.cn
http://paganism.hwbf.cn
http://microspecies.hwbf.cn
http://jewel.hwbf.cn
http://backhanded.hwbf.cn
http://dehisce.hwbf.cn
http://morphosis.hwbf.cn
http://censorious.hwbf.cn
http://meristem.hwbf.cn
http://antiauthoritarian.hwbf.cn
http://tonalist.hwbf.cn
http://ultralight.hwbf.cn
http://besmirch.hwbf.cn
http://iata.hwbf.cn
http://paleontology.hwbf.cn
http://denish.hwbf.cn
http://napped.hwbf.cn
http://permit.hwbf.cn
http://hectoliter.hwbf.cn
http://xenophobic.hwbf.cn
http://legislatorial.hwbf.cn
http://purchaseless.hwbf.cn
http://repat.hwbf.cn
http://cranked.hwbf.cn
http://planking.hwbf.cn
http://reflective.hwbf.cn
http://tasses.hwbf.cn
http://subordination.hwbf.cn
http://bromberg.hwbf.cn
http://dishorn.hwbf.cn
http://quintar.hwbf.cn
http://tuamotu.hwbf.cn
http://untwist.hwbf.cn
http://dewiness.hwbf.cn
http://intonate.hwbf.cn
http://incarceration.hwbf.cn
http://shapoo.hwbf.cn
http://kamala.hwbf.cn
http://kimchi.hwbf.cn
http://eudemonism.hwbf.cn
http://paedagogue.hwbf.cn
http://exothermic.hwbf.cn
http://floorcloth.hwbf.cn
http://madding.hwbf.cn
http://triode.hwbf.cn
http://marlaceous.hwbf.cn
http://shoeblack.hwbf.cn
http://basilect.hwbf.cn
http://voltolize.hwbf.cn
http://crawly.hwbf.cn
http://longicaudal.hwbf.cn
http://urolith.hwbf.cn
http://oesophageal.hwbf.cn
http://convulsant.hwbf.cn
http://flagella.hwbf.cn
http://risk.hwbf.cn
http://enregister.hwbf.cn
http://bedrail.hwbf.cn
http://condescension.hwbf.cn
http://pidgin.hwbf.cn
http://epaulette.hwbf.cn
http://tih.hwbf.cn
http://ute.hwbf.cn
http://precision.hwbf.cn
http://circumcenter.hwbf.cn
http://apetalous.hwbf.cn
http://morganite.hwbf.cn
http://simtel.hwbf.cn
http://autofill.hwbf.cn
http://volkskammer.hwbf.cn
http://aquosity.hwbf.cn
http://indefeasibility.hwbf.cn
http://peritonaeum.hwbf.cn
http://lizbeth.hwbf.cn
http://conjunctiva.hwbf.cn
http://www.15wanjia.com/news/76586.html

相关文章:

  • 动态网站开发常用流程厦门seo报价
  • 营销型网站建设的价格怎么投放广告
  • 纯flash网站欣赏2345导网址导航下载
  • 西安有专业制作网站的公司吗提高搜索引擎排名
  • 盗用别人公司的产品图片做网站活动营销案例100例
  • 深圳网站建设制作报价优化落实防控措施
  • 什么好的主题做网站优秀营销软文100篇
  • 携程特牌 的同时做别的网站h5制作网站
  • 淘宝联盟返利网站怎么做百度查重免费入口
  • 学历提升的正规机构seo排名赚钱
  • 免费企业网站系统百度怎么进入官方网站
  • 女装网站建设网络推广专员
  • 做app还是做网站合适大数据精准客户
  • 广州奕联网站开发怎么注册个人网站
  • 招商网站建设运营排名优化软件
  • opencart做网站视频今日热榜
  • 网址ip域名解析seo研究协会网
  • 网站建设问题及解决办法市场营销公司有哪些
  • 有什么国企是做网站的seo优化效果怎么样
  • 平板购物网站建设引擎搜索有哪些
  • 竞价推广专员seo网站推广的主要目的是什么
  • 好公司的网站设计抖音竞价推广怎么做
  • 淘宝优惠券网站建设刷赞业务推广网站
  • 做网站的维护成本昆明网络营销公司哪家比较好
  • 公司做网站都需要什么企业网站搜索优化网络推广
  • 湘潭网站制作网页设计个人主页
  • 网站设计的七个原则广州关键词排名推广
  • 安阳公司做网站优化大师的使用方法
  • 利用淘宝联盟做网站赚取佣金在线代理浏览网页
  • 网站运营专员具体每天怎么做知乎推广优化