基本定义

Untitled

  1. 叶子节点不存储任何数据
  2. 除了叶子节点之外,其他节点下面一定会有两个子节点
  3. 红黑树也是二叉搜索树
  4. 红黑树在插入、删除节点的过程中是自平衡的

红黑平衡规则

  1. 每一条路径上的黑节点的数量一定是一致的
  2. 没有两个红色节点是连接在一起的
  3. 根节点一定是黑色

红黑树插入

基本规则

  1. 当树是空树时,插入根节点一定是黑色(规则 7)
  2. 接下来每次插入红节点(为了满足规则:每一条路径上的黑节点的数量一定是一致的,只有插入红节点才能不打破这种平衡

要插入的节点父节点为黑

直接插入

要插入的节点是 80

要插入的节点是 80

要插入的节点父亲、叔叔节点为红

父亲、叔叔的颜色和爷爷的颜色调换**(注意根节点一定是黑色)**

要插入的节点是 100,变换的时候一定是父亲、叔叔都为红,才能变换,否则会打破红黑平衡

要插入的节点是 100,变换的时候一定是父亲、叔叔都为红,才能变换,否则会打破红黑平衡