算法导论-13-1-持久动态集合
来源:互联网 发布:暴风tv电视怎么样知乎 编辑:程序博客网 时间:2024/06/06 03:18
题目:
答:
a)需要改变的结点包括“从根结点开始,到要插入到删除的结点”的这条路径上的所有结点。
b)
//持久动态集合上的树的插入操作tree* Persistent_Tree_Insert(tree *T, int k){//从根结点开始node *p = T->root, *f, *f2;//首先根结点是一定要改变的T->root = new node(p);//改变p结点的孩子,不需要改变的那个,还是指向原来的孩子while(p->key != k){if(k < p->key){//为要改的那个孩子建立一个和它一样的新结点f = p->left;//若孩子为空,把新结点加入进去if(!f)f2 = new node(k);elsef2 = new node(f);//p指向新孩子p->left = f2;}else{f = p->right;if(!f)f2 = new node(k);elsef2 = new node(f);p->right = f2;}//以新结点为父结点,做同样的更新操作p = f2;}//返回树return T;}c)时间与空间都是O(h)
e)构造一个结点中没有p域的红黑树,类似于算法导论-13.3-6-红黑树基于栈实现RB-INSERT。对于插入删除中的旋转操作,要对从根结点到旋转结点路径上的所以结点进行更新。
- 算法导论-13-1-持久动态集合
- 算法导论-13-1-持久动态集合
- 算法导论-13-1-持久动态集合
- 算法导论 第13章 13-1 持久动态集合
- 算法导论思考题13-1:持久动态集合中的持久二叉搜索树
- 算法导论-动态规划
- 【算法导论】动态规划
- 算法导论:动态规划
- 算法导论-----动态规划
- 算法导论 动态规划
- 算法导论--动态规划
- 【算法导论】动态规划
- 《算法导论》动态规划-思考题
- 算法导论之动态规划
- 算法导论—动态规划
- 算法导论 动态规划 笔记
- 算法导论之动态规划
- 算法导论-----动态规划是什么
- 超级有用的git reset --hard和git revert命令
- C# 获取随机数 或者随机数组 。net获取不重复的随机数或者随机数组
- Win2003+IIS6.0搭载web服务器如何进行性能优化
- express.js初体验
- hdu 4390 Number Sequence
- 算法导论-13-1-持久动态集合
- 通用权限管理设计 之 数据权限
- 创建联动的 DropdownList in ASP.net MVC 3 and jQuery (2)
- Tomcat全攻略
- Git_Clone a remote git repository and cd into it
- 使用strace命令查看php进程信息
- 常用的日志信息的宏
- nginx+tomcat+jdk
- 在jsp里选择下拉列表的值后,刷新页面默认显示选择后的值