CLRS第十三章思考题
来源:互联网 发布:如何把mac里的照片导出 编辑:程序博客网 时间:2024/06/11 21:02
思考题13-1
a) 对于插入操作,需要更改根结点到插入的新叶结点路径上的所有结点;对于删除操作,至多改变被删除的节点和其后继的祖先结点。
b) 先假设会调用两个子程序MAKE-NEW-NODE(k)
、COPY-NODE(x)
。其中MAKE-NEW-NODE(k)
创建一个关键字为 COPY-NODE(x)
创建一个和结点
PERSISTENT-TREE-INSERT(r, k) if r == NIL x = MAKE-NEW-NODE(k) else x = COPY-NODE(r) if k < r.key x.left = PERSISTENT-TREE-INSERT(r.left, k) else x.right = PERSISTENT-TREE-INSERT(r.right, k) return x
初始调用需要将T.root
作为第一个参数。
c) 时间复杂度、空间复杂度都为
d) 若有
e) 从 a) 和 c) 我们知道,插入到一颗高为
1) 怎么在没有
2) 在红黑树的旋转和着色过程中,需要改变的结点所做的改变不会超过
对于1),我们除了使用和红黑树差不多的RB-INSERT
函数外,还需要一个栈来保存从根结点到插入结点位置所经过的结点,然后将栈传给RB-INSERT-FIXUP
,这样就可以在
对于2),证明略。
同样的也可以相似的证明删除持久的红黑树最坏只要
思考题13-2
暂略
思考题13-3
暂略
思考题13-4
暂略
- CLRS第十三章思考题
- CLRS第三章思考题
- CLRS第二章思考题
- CLRS第四章思考题
- CLRS第五章思考题
- CLRS 第六章思考题
- CLRS第七章思考题
- CLRS第八章思考题
- CLRS第九章思考题
- CLRS第十一章思考题
- CLRS第十二章思考题
- CLRS第十四章思考题
- CLRS第十六章思考题
- CLRS第十章思考题
- CLRS 第十七章思考题
- CLRS第十五章思考题1-4
- CLRS第十五章思考题5-8
- CLRS第十五章思考题9-12
- CLRS 13.3插入
- 【bzoj2982】【combination】【Lucas定理】
- 利用Tire树过滤脏字
- CLRS 13.4删除
- 二十三种设计模式之结构型模式之享元模式
- CLRS第十三章思考题
- Lucene近实时搜索应用总结
- CLRS 14.1动态顺序统计
- CLRS 14.2如何扩张数据结构
- set集合中元素的比较
- CLRS 14.3区间树
- C++学习之编程实例
- 【bzoj2330】【scoi2011】【糖果】【差分约束】
- CLRS第十四章思考题