平衡二叉树一般用于以查为主的场景 红黑树一般用于插入删除较多的场景
一般只考察定义和插入操作
xxxxxxxxxx51struct RBNode{2 ElemType data;3 RBNode* parent, lchild, rchild; // 同二叉排序树4 int color; // 存放红黑状态,如1/0表示红/黑5};新结点是根————结点染为黑色
新结点是非根————结点染为红色
若新插入结点后依然满足红黑树定义,插入结束
若新插入结点不满足红黑树定义,需要调整使其满足定义(看新结点的叔叔结点的颜色)
黑叔:旋转+染色
红叔:染色+变新