红黑树

来源:互联网 发布:wind python高频数据库 编辑:程序博客网 时间:2024/06/07 13:25

平衡二叉树

查找O(logn)  O(h)  插入删除O(logn) 比较理想    

红黑树(平衡搜索树的一种)保证了最坏情况下操作时间复杂度为O(logn)


确保没有一条路径会比其他路径长出2倍,近似平衡



每个结点包括 color key left right p      没有子节点或父结点,则该结点相应指针属性值为NIL


 性质:根节点是黑色,叶子结点是黑色.,

           如果一个结点是红色,它的两个子节点都是黑色的

           对于每个结点到他所有后代叶结点的简单路径,都包含相同数目的黑色结点


使用一个哨兵代表NIL



从某个结点触发到一个叶结点的任意简单路径的黑色结点个数成为黑高                         


引理:一颗有n个内部结点的红黑树的高度至多为 2lg(n+!);

原创粉丝点击