红黑树的旋转

转换规则

  • 红黑树默认插入的是红子树、也不允许有任何两个相连的节点都为红色。

  • 1、颜色转换情况:
    如果当前节点的父节点是红色,且父节点的兄弟节点也是红色,那么需要进行颜色转变:

    • 父节点变为黑色、父节点的兄弟节点也变为黑色,然后父节点的父节点表位红色
  • 2、左旋的情况:(自己当然是红色)
    如果父节点为红色,父节点的兄弟节点是黑色,且自己是父节点的 右子树 时需要进行左旋:

    • 以父节点作为旋转节点,将父节点转到自己的左子树下,自己就转到父节点位置。
  • 3、右旋的情况:(稍微复杂一点)
    如果父节点为红色,父节点的兄弟节点是黑色,且自己是父节点的 左子树 时需要进行右旋:

    • 1、先要进行变色:父节点变为黑色、再把父节点的父节点变为红色
    • 2、以父节点的父节点作为旋转节点,将父节点的父节点变为父节点右子树,父节点代替父节点的父节点的位置。

就这样一直变颜色、旋转,直到该数符合红黑树即可,并不难。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 红黑树的定义 任何一个节点非红即黑; 树的根为黑色; 叶子节点为黑色(注意:红黑树的所有叶子节点都指的是Nil节点...
    勇敢的心15阅读 8,183评论 0 1
  • 红黑树是一种自平衡二叉查找树,常用于键值对存储,例如Java的TreeMap中就采用红黑树实现。它可以在O(log...
    shiy4n阅读 5,313评论 0 2
  • 二、红黑树——一种常被使用的平衡二叉搜索树 1、四大性质 1、每个节点都有颜色,要么黑色,要么是红色。2、树的根节...
    XDgbh阅读 4,334评论 0 0
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 11,047评论 0 5
  • 昨天,在回家的路上,坐在车里悠哉悠哉地看着三毛的《撒哈拉沙漠的故事》,我被里面的内容深深吸引住了,尽管上学时...
    夜阑晓语阅读 9,220评论 2 9

友情链接更多精彩内容