标签:操作 art 通过 ack nbsp 参考 破坏 不难 情况
红黑树本身就是一颗二叉查找树, 因此红黑树的插入操作和二叉查找树的插入操作都是一样的,这个不难.但是红黑树插入节点完成后, 可能会破坏红黑树的特性, 为了保持红黑树的性质, 需要通过一系列操作来保持红黑树的性质.
既然说会破坏红黑树的性质, 那红黑树到底有什么性质呢? 红黑树有五个性质:
性质1. 节点是红色或黑色
性质2. 根是黑色
性质3. 所有叶子都是黑色(叶子是NIL节点)
性质4. 如果一个节点是红的,则它的两个儿子都是黑的
性质5. 从任一节点到其叶子的所有简单路径都包含相同数目的黑色节点。
刚才说节点插入后, 可能会破坏红黑树的上面的性质, 为了保持红黑树的性质, 就需要进行一系列的操作.所有的插入情况可以归纳成以下几种case:
这种情况,不用调整树结构, 不会破坏红黑树性质
这种情况又需要分成一下几种case讨论:
这种情况不需要对树结构进行改变,只需要改变某些节点的颜色, 就可保持红黑树的性质
这种情况还需要分:
所有情况就是这些, 后面对这些情况一一进行分析.
参考链接:
http://dongxicheng.org/structure/red-black-tree/
http://blog.csdn.net/yangjun2/article/details/6542321
标签:操作 art 通过 ack nbsp 参考 破坏 不难 情况
原文地址:http://www.cnblogs.com/NewMan13/p/6214225.html