红黑树(代码实现)

首先,给大家介绍一下什么叫红黑树。看了很多书,查了很多资料,个人觉得还是《算法导论》上说的正确。我们来看看它上面是如何说的:


(PS:请特别注意红色标注的地方,这是红黑树的特性和其保持平衡的关键)

这些约束强制的红-黑树的临界特性:从根到最远叶的路径是不超过两倍,只要从根到最近的叶的路径更短其结果是,该树是大致高度平衡。因为诸如插入,删除,和发现值的操作所需要的最坏情况下的时间正比于树的高度,这个理论上限的高度允许红黑树是在最坏的情况下有效。


本博文主要介绍的是红黑树的插入,关于其的删除和其他,暂时不与实现。

首先,我们来分析下插入时应该注意什么,在此过程中,读者要始终记住红黑树的特性和其最长路径不超过最短路径的两倍。




以及,最后一种情况:



在插入情况中,网上有的高手总结出了五种情况,在《算法导论》上,作者总结出了四种情况,其实大多大同小异,在下面给出算法导论中的分析,至于网上高手的情况,本人会给出链接(个人认为好的)。

具体代码实现在点击打开链接

如果想动态的看它的插入看点击打开链接

其次,想了解删除的同学,可以看看点击打开链接

还有一篇文章也不错点击打开链接


本文因该数据结构比较难,可能本人表述的有问题或者错误,望读者指出。还有很多不全之处,也请多多见谅



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值