AlgorithmsFicymoon.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

l215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档