数据结构第九章知识课件.pptVIP

  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文档。上传文档
查看更多
.树中每一个分支结点表示一个索引块,它最多存放 m 个索引项,每个索引项分别给出各子树结点 (低一级索引块) 的最大关键码和结点地址. .树的叶结点中各索引项给出在数据表中存放的对象的关键码和存放地址.这种m叉树用来作为多级索引,就是m路搜索树. . m路搜索树可能是静态索引结构,即结构在初始创建,数据装入时就已经定型,在整个运行期间,树的结构不发生变化. . m路搜索树还可能是动态索引结构,即在整个系统运行期间,树的结构随数据的增删及时调整,以保持最佳的搜索效率. 多级索引结构形成 m 路搜索树 .动态的 m 路搜索树 .一般定义为: .一棵 m 路搜索树, 它或者是一棵空树, 或者是满足如下性质的树: 根最多有 m 棵子树, 并具有如下的结构: n, P0, ( K1, P1 ), ( K2, P2 ), ……, ( Kn, Pn ) 其中,Pi 是指向子树的指针,0 ? i ? n m;Ki 是关键码,1 ? i ? n m. Ki Ki+1, 1 ? i n. .在子树 Pi 中所有的关键码都小于 Ki+1,且大于 Ki,0 i n. .在子树 Pn 中所有的关键码都大于Kn. .在子树 P0 中的所有关键码都小于 K1. .子树 Pi 也是 m 路搜索树,0 ? i ? n. .一棵3路搜索树的示例 . AVL树是m=?路搜索树? .B-树 .一棵 m 阶B_树是一棵 m 路搜索树,它或者是空树,或者是满足下列性质的树: .根结点至少有 2 个子女. .除根结点以外的所有结点 (不包括失败结点)至少有 ?m/2? 个子女. .所有的失败结点都位于同一层. .事实上,在B-树的每个结点中还包含有一组指针D[m],指向实际对象的存放地址.K[i]与D[i] (1 ? i ? n m)形成一个索引项(K[i], D[i]).通过K[i]可找到某个对象的存储地址D[i]. .非B-树与B-树的示例图 非B-树 B-树 .B-树上的搜索 .B-树的搜索过程是一个在结点内搜索和循某一条路径向下一层搜索交替进行的过程.因此,B-树的搜索时间与B-树的阶数m和B-树的高度h直接有关,必须加以权衡. .在B-树上进行搜索,搜索成功所需的时间取决于关键码所在的层次,搜索不成功所需的时间取决于树的高度. .在B-树上搜索的示例 .B-树上的插入 . B-树是从空树起,逐个插入关键码而生成的. .在B-树,每个非失败结点的关键码个数都在 [ ?m/2? -1, m-1] 之间. .插入在某个叶结点开始.如果在关键码插入后结点中的关键码个数超出了上界 m-1,则结点需要“分裂”,否则可以直接插入. . 实现“分裂”的原则 .设结点 p 中已经有 m-1个关键码,当再插入一个关键码后结点中的状态为: . ( m, P0, K1, P1, K2, P2, ……, Km, Pm) 其中 Ki Ki+1, 1 ? i m 这时必须把结点 p分裂成两个结点 p和q,它们包含的信息分别为: 结点 p: ( ?m/2? -1, P0, K1, P1, ……, K?m/2? -1, P?m/2? -1) 结点 q: (m - ?m/2?, P?m/2?, K?m/2?+1, P?m/2?+1, ……, Km, Pm) 位于中间的关键码 K?m/2? 与指向新结点 q 的指针形成一个二元组 ( K?m/2?, q ),插入到这两个结点的双亲结点中去. 数据结构 第九章 查找 主要讨论的问题:静态查找;动态查找;哈希查找. .几个基本概念 .查找表:由同一类型的数据元素构成的集合. .静态查找表:若只在查找表中搜索某一特定的数据元素是否存在,这类搜索过程称之为静态查找. .动态查找表:若在查找表中搜索时插入了不存在的数据元素或删除了已存在的数据元素,这类搜索过程称之为动态查找表. .关键字:是数据元素中某个数据项的值,它可以标识一个数据元素. .查找:根据给定的某个值,在查找表中确定一个其关键字等于给定值的记录或数据元素. . 查找成功:若表中存在这样的记录,称查找是成功的. . 查找不成功:若表中不存在关键字等于给定值的记录,称查找不成功. .监视哨的作用:作为越界(即已查完)的检测条件,省去在循环中每次均要判定是否越界,从而节省比较的时间. .顺序查找算法: int sxcz(JD r[],int n,int k) { int i=n; /*从表尾开始向前查找*/ r[0].key=k; /*设置监视哨*/ while(r[i].k

文档评论(0)

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

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

1亿VIP精品文档

相关文档