摘要:
1 红黑树的定义 (1)每个节点或者为黑色,或者为红色。 (2)根必须为黑色。 (3)每个叶子节点(不包含关键字的节点)都是黑色。 (4)如果有一个节点是红色,那么它的两个儿子都是黑色。 (5)对于每个节点,从该节点出发到其子孙节点的所有路径上包含相同数目的黑节点。 满足上面5个条件的树就是一颗红黑树,红黑树有着很好的性质,它类似于平衡二叉树(AVL)。一颗红黑树的高度不会超过2lg(n+1),而且插入和删除操作较AVL更快,由于它分别最多做2次和3次旋转来维护树的性质,所以在linux内核中大量使用了红黑树,如ext3文件系统中使用红黑色来记录目录项,虚拟内存区也是使用它来记录的... 阅读全文