Loading

算法导论第十四章:数据结构的扩展

这章的主要内容是通过红黑树的两个扩展例子掌握如何对一种数据结构在原有基础上进行扩展。
来为自己所用

扩展一种数据结构大致可以分为4个步骤:
1.选择一种基础数据结构.
2.确定基础数据结构中要维护的附加信息.
3.检验基础数据结构中的基本操作能否维护附加信息
4.设计一些新操作

一.顺序统计树

它是红黑树的一个修改,它可以在 O(lgn) 时间内确定任何的顺序统计量。
相比于前面的运用快排思想的顺序统计量算法的 O(n) 快很多。

1.顺序统计树T只是简单的在每个节点上存储附加信息一颗红黑树。
2.它的节点信息为:
x.key 节点数据
x.color 节点颜色
x.p 父节点
x.left 左孩子
x.right 右孩子
x.size
以x为根的子树(包括x)的节点数 附加信息

如图:
在这里插入图片描述

3.对子树规模的维护(很重要)
我们知道在红黑树上的插入操作包括两个阶段:
第一阶段从根开始沿树下降,将新阶段插入作为某个已有节点的孩子。
第二阶

posted @ 2020-04-16 12:43  文牧之  阅读(42)  评论(0)    收藏  举报  来源