红黑树的创建

红黑树的性质:

1.红黑树中的节点是黑色或者红色;

2.根节点一定是黑色

3.终端节点是黑色

4.没有2个红节点互为父子关系

5.从任意节点出发到其所能到达的各个终端节点的各条路径上黑节点数目必须完全相同

红黑树的创建:节点的初始颜色为红色

1.空     变为黑色   结束

2.父亲节点为黑     放入   结束

3.父亲节点为红

    3.1叔叔节点为红

    父->黑   叔->黑   爷->红

    爷爷作为当前节点向上遍历

  3.2 叔叔节点为黑

    3.2.1父亲是爷爷 的左

       3.2.1.1当前节点Z是父亲的右

            父亲作为当前节点Z,

            以当前节点Z为支点左旋

       3.2.1.2 当前节点Z是父节点的左

           父->黑    爷->红

            以爷爷为支点右旋

              结束

    3.2.2父亲是爷爷的右

        3.2.2.1当前节点Z是父亲的左

            父亲作为当前节点Z

            以Z为父的右旋

        3.2.2.2当前节点Z是父亲的右

            父->黑  爷->红

            以爷爷为支点左旋

举个例子          

猜你喜欢

转载自www.cnblogs.com/Lune-Qiu/p/9045849.html