- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AlgorithmsFicymoon
F BST, Algorithms F icymoon, ISC, NKU, 2007-10-18
1 树→ 二叉树→BST(→ 红黑树)
1.1 树
1.1.1 递归定义
有根树是 n(n 0) 个结点的有限集 T,T 为空时称为空树, 否则满足如下两个条件:
? 有且仅有一个特定的称为根的结点;
? 其余的结点可分为m(m 0) 个互不相交的子集 Tl, T2, · · · , Tm, 其中每个子集本
身又是一棵树,并称其为根的子树。
1.1.2 相关概念
root, node, degree, leaf, child, depth, forest· · ·
1.2 二叉树
1.2.1 递归定义
二叉树或者是一棵空树, 或者是一棵由一个根结点和两棵互不相交的分别称根的左
子树和右子树所组成的非空树, 左子树和右子树又同样都是一棵二叉树。
1.2.2 相关概念
//限于 Introduction 2 Algorithms, 不同书上定义可能有差异
? 完全二叉树
? 满二叉树
1.2.3 二叉树的几种表示
//比如像 Fortran,不提供指针,我们该怎么办?
? 有指针的结点 (p,left,right)
? 数组与数组下标 (堆)
1.3 二叉查找/搜索树 –Binary Search Tree
1.3.1 基本概念与性质
设 x 为 BST 中的一个结点。如果 y1 是 x 的左子树中的一个结点,则 key[y] 6
key[x]。如果 y 是 x 右子树中的一个结点,则有 key[x] 6 key[y]。
? Eg. 3 1 8 2 6 7 5→QuickSort(expt. O(nlgn))
? Height of Tree O(lg n)
? Ave. node depth O(lg n)
1
F BST, Algorithms F icymoon, ISC, NKU, 2007-10-18
1.3.2 遍历
//根节点在什么位置输出
? 中序遍历 – 按排列顺序输入所有的 key,Θ(n)
? 前序遍历
? 后序遍历
2
F BST, Algorithms F icymoon, ISC, NKU, 2007-10-18
2 BST 的基本操作
2.1 查询
2.1.1 查找 –TREE-SEARCH
递归与非递归 O(h)
2.1.2 最大 key 与最小 key
//朝一个方向查找下去即可
? 最大 key:left→left→left· · ·
? 最小 key:right→right→right· · ·
2.1.3 前趋与后继
//指定结点,中序遍历顺序
? 后继:结点 x 的后继是具有大于 key[x] 中的 key 中最小者的那个结点。
右子树非空:右子树的最左结点
右子树为空:从 x 向上查找,直到遇到某个结点是其父结点的左子结点为止。其父
结点为所求。
2.2 插入 –TREE-INSERT
TREE-INSERT(T,z)
? 树为空时,直接插入结点为根
? 树只有根结点时,比较决定新结点做为根的左子结点还是右子结点
? 其他情况,比较→ 下降,查找插入的位置。
2.3 删除 –TREE-DELETE
TREE-DELETE(T,z)
? z 无子结点,修改 p[z] = NIL
? z 只有一个子节点,在其父结点与子节点间建立连接。
? z 有两个节点,先删除 z 的后继 y,再用 y 的内容代替 z。
3
F BST, Algorithms F icymoon, ISC, NKU, 2007-10-18
3 随机构造的 BST
3.1 期望树高
一棵在 n 个关键字上随机构造的二叉树,其期望高度为 O(lg n)。
3.2 证明
4
4 小结
F 一般 BST 上的操作需要 O(h),最坏情况下是 O(n) 阶,所以不能保证最快,为了
使树高保持在 O(lg n) 阶,许多构造搜索树的方案都很注意平衡性,比如 AVL 树,B 树,
红黑树等。
5
您可能关注的文档
- 9B Unit 2 Welcome to the unit(新).ppt
- 9个新托福口语考试常用抱怨类句子-智课教育旗下智课教育.pdf
- = Trim Angle of Attack.pdf
- A 24 year old woman with shortness of breath.ppt
- A 3D radiative transfer framework I. non-local operator splitting and continuum scattering.pdf
- A Biomechanical Model That Confirms Human Ankle Angle Changes Seen During Short Anterior Pe.pdf
- A BIOSPI MODEL OF LYMPHOCYTE-ENDOTHELIAL INTERACTIONS IN INFLAMED BRAIN VENULES.pdf
- A Borsuk Theorem on Homotopy Types.pdf
- A brain-vectored angiopep-2 based.pdf
- A brief survey of dynamic texture description and recognition.pdf
文档评论(0)