二叉搜索树
来源:互联网 发布:windows bitlocke解密r 编辑:程序博客网 时间:2024/05/29 12:30
查找关键字k: 输入一个指向树根的指针和关键字kTREE-SEARCH(x,k)if x==NIL or k==x.key return xif k<x.key return TREE-SEARCH(x.left,k)else return TREE-SEARCH(x.right,k)迭代版本ITERACTIVE-TREE-SEARCH(x,k)while x!=NIL and k!=x.key if k<x.key x=x.left else x=x.rightreturn x查找后继: 如果节点x的右子树非空,那么x的后继恰好是x的右子树中的最左节点,如果节点x的右子树为空并且有一个后继y,那么y就是x有左孩子的最低祖先。TREE-SUCCESSOR(x)if x.right!=NIL return TREE-MINIMUM(x.right)y=x.pwhile y!=NIL and x==y.right x=y y=y.preturn y插入元素:从树根开始,指针x记录了一条向下的简单路径,查找要替换的输入项的NIL,保持遍历指针y(需要y是因为找到NIL时要知道z属于哪个节点)作为x的双亲TREE-INSERT(T,z)y=NILx=T.rootwhile x!=NIL y=x if z.key<x.key x=x.left else x=x.rightz.p=yif y==NIL T.root=z //tree is emptyelseif z.key<y.key y.left=zelse y.right=z一棵有n个不同关键字的随机构建二叉搜索树的期望高度为O(lgn)
0 0
- 【二叉搜索数】HDU3791二叉搜索树
- 二叉树--二叉搜索树
- 【二叉树】二叉搜索树
- 二叉树- 二叉搜索树
- 【搜索树】二叉搜索树
- 二叉搜索树BSTree
- 二叉搜索树
- 二叉搜索树
- 二叉搜索树
- 最优二叉搜索树
- 二叉搜索树
- 二叉搜索树
- HDOJ3791 二叉搜索树
- 二叉查找树搜索
- 二叉搜索树
- 二叉搜索树
- BST 二叉搜索树
- 二叉搜索树
- linux分区策略
- vs2008 32位应用迁移到64位
- iOS Emoji
- FindBugs —— 代码质量工具
- Text Kit框架——动态字体及cell动态高度
- 二叉搜索树
- 表格样式设置
- Android 图片异步加载 加载网络图片
- Android 基础知识点
- 黑马程序员——JAVA 面向对象总结(三)
- Android USB Tethering
- Python中文分词组件 jieba
- android开发之扫描二维码实现网页登录
- 实现一个so库文件名称为libupper.so提供给c/cpp调用