红黑树的插入操作首先和搜索二叉树一样先要找到插入的位置,找到后将节点插入,但是鉴于红黑树的性质,插入的节点为红色,如果插入位置的父亲也为红色则红黑树的平衡被打破,需要进行调整,具体的分为以下4种情况:

首先规定插入节点为X, 其父亲节点为P,兄弟节点为S,祖父节点为G:


RBTree的插入操作

1.S为黑色(null)。且X为外侧插入:只要将G做一次单旋转,改变P G的颜色,即可调整完成。


2..S为黑色(null)。且X为内侧插入:首先将S走一次左旋,然后G做一次右旋转,改变G和S颜色。

RBTree的插入操作


3.S为红色,X为外侧插入:P  G先做一次单旋转,并改变P和G的颜色,此时如果GG为黑色则调整完成,否则继续往上做,重复1,2,3 的判断,直到不再有父子连接是红色的情况


RBTree的插入操作

相关文章:

  • 2021-10-18
  • 2021-12-04
  • 2021-05-14
  • 2021-10-28
  • 2022-12-23
  • 2022-12-23
  • 2021-06-20
  • 2021-09-14
猜你喜欢
  • 2021-07-03
  • 2021-06-16
  • 2021-06-05
  • 2021-12-17
  • 2021-10-17
  • 2022-12-23
  • 2021-07-13
相关资源
相似解决方案