13-红黑树-算法导论
2016-06-14 10:30:50 0 举报
AI智能生成
红黑树是一种自平衡的二叉查找树,它在计算机科学中被广泛使用。它的每个节点都有一个颜色属性,通常是红色或黑色。红黑树的主要优点是它可以在对数时间内完成插入、删除和查找操作。这些操作可以通过旋转和重新着色来保持树的平衡。红黑树通常用于实现关联数组、缓存和数据库索引。算法导论是一本经典的计算机科学教材,它详细介绍了各种数据结构和算法,包括红黑树。这本书对于学习计算机科学的读者来说是一本很好的参考书。
作者其他创作
大纲/内容
作用
可以保证在最坏情况下基本动态集合操作(Search, Predecessor, Successor, Min, Max, Insert等)的时耗为O(lgn)
概念
(个人总结)
是一种“平衡”搜索树;
是一棵二叉搜索树
每个节点上增加了一个存储位来表示节点的颜色(红or黑,红黑的意义下面再说)
性质
1、每个节点是红或黑色
2、根节点是黑色的
3、每个叶节点(NIL)是黑色的
4、如果一个节点是红色的,则它的两个子节点是黑色的
5、对每个节点,从该节点到其他所有后代叶节点的简单路径上,都包含相同数目的黑色节点
几个辅助标记
添加哨兵
给红黑树T添加哨兵T.nil,以方便边界条件的处理——T.nil指定为黑色
黑高bh(x)
从某节点x出发(不含x),到底一个叶节点的任意一简单路径上的黑色节点个数称为黑高
说明:红黑树的黑高为根节点的黑高
Th: 一棵有n个内部节点的红黑树的高度至多为2lg(n+1)
0 条评论
下一页