码迷,mamicode.com
首页 > 编程语言 > 详细

数据结构Java版之红黑树(八)

时间:2018-07-01 14:14:24      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:htm   http   链接   链表   旋转   连续   允许   防止   相同   

  红黑树是一种自动平衡的二叉查找树,因为存在红黑规则,所以有效的防止了二叉树退化成了链表,且查找和删除的速度都很快,时间复杂度为log(n)。

  什么是红黑规则?

  1.根节点必须是黑色的。

  2.节点颜色要么是红要么是黑。

  3.树的每一个分叉存在相同黑色节点。

  4.不允许存在两个连续的红色节点。

  为不断适应红黑规则,在写程序中如何调整?

  1.旋转

    ---单旋转

      外侧节点单旋转。外侧节点指的是左子树的左孩子节点,右子树的右孩子节点。

    ---双旋转

      内侧节点双旋转。内侧节点指的是左子树的右孩子节点,右子树的左孩子节点。

  2.变色

    ---节点颜色进行更改。

    ---强制将根节点颜色变为黑色。

  博文参考链接:http://www.cnblogs.com/skywang12345/p/3245399.html  (红+黑节点指的是父节点红色,当前节点黑色。黑+黑是父节点黑色,当前节点黑色。前面的颜色可看做是通过继承来的)。

数据结构Java版之红黑树(八)

标签:htm   http   链接   链表   旋转   连续   允许   防止   相同   

原文地址:https://www.cnblogs.com/ranter/p/9249929.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!