算法之数据结构(红黑树)添加节点规则

84 阅读1分钟

添加节点

1: 根

直接变为黑色

2: 非根

2.1 父黑色

不需要任何操作

2.2 父红色

2.2.1 叔叔红色

  1. 将父设为黑色,将叔叔设为黑色
  2. 将祖父设为红色
  3. 如果祖父为根,在将根变回黑色
  4. 如果祖父非根,将祖父设置为当前节点再进行其他判断

2.2.2 叔叔黑色,当前节点为父的右孩子

将父设置为当前节点并左旋,再进行判断

2.2.3 叔叔黑色,当前节点为父的左孩子

  1. 将父设置为黑色
  2. 将祖父变为红色
  3. 以祖父为支点进行右旋