Lecture 10 Balanced Search Trees
来源:互联网 发布:知乎 哈布斯堡 编辑:程序博客网 时间:2024/04/30 05:53
Search tree data structure maintaining dynamic set of n elements using tree of height O(logn).
Examples:
>AVL trees
>2-3 trees
>2-3-4 trees
>B-trees
>Red-black trees
>Skip lists
>Treaps
Red-black trees
BST data structure with extra color field for each node, satisfying:
>Red-black properties:
1. Every node is either red or black;
2. The root and leaves(nil's) are black;
3. Every red node has black parent;
4. All simple paths from a node x to a descendant leaf of x have same #black nodes=black-height(x)
Example:
Height of red black tree:
Corollary:
Queries (Search Min Max Successor Predecessor) run in O(log(n)) in a red-black tree.
Updates (Insert Delete) must modify the tree.
---BST operation
---color changes
---restructruing of links via rotations O(1) time operations
Rotation:
RB-insert(x):
Idea
--Tree-Insert(x)
--color node red
---problem: parent might be red. So violate 3
---move violation up the tree via recoloring until we can fix violation via rotation & recoloring.
RB-Insert adds x to set & preserves red-blackness in O(logn) time.
#Case1 <= logn #Case2 & 3 <= 2 O(1) rotations
Case 2 and 3 means termination. What we mainly to do is case 1.
- Lecture 10 Balanced Search Trees
- Lecture 9 Random built Binary Search Trees BSTs
- Princeton Algorithms: Part 1 [week 5: Balanced Search Trees]
- Lecture 16 Minimum Spanning Trees
- Foundation: Balanced Tree Search
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- Unique Binary Search Trees
- bzoj2039 [2009国家集训队]employ人员雇佣
- 数据库的垂直划分和水平划分
- 用函数判断素数
- js中FileReader对象入门-fileReader中的事件
- 【目标识别】深度学习进行目标识别的资源列表
- Lecture 10 Balanced Search Trees
- Spring MVC处理JSON数据(3)-自定义消息转换器
- numpy中数组元素的统一赋值
- Unity Shader 之 Halo
- Linux下system()函数引发的错误
- java计算混淆矩阵(分类指标:查准率P,查全率R,P和R的调和均值F1,正确率A)
- aidl的简单使用
- kubernetes源码阅读之controller-manager(三)
- 03-树1 树的同构 (25分)