分块查找课程设计讲解.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文档。上传文档
查看更多
目 录 1实践的目的与要求 1 1.1 实践目的 1 1.2 课程设计要求 1 2 分块查找概述 1 2.1 分块查找简介 1 2.2 基本思想 1 2.3 分块查找的优点 2 3 分块查找的步骤 2 3.1 方法描述 2 3.2 假设 3 4 流程图 4 5 编码 4 6 测试结果及运行结果 5 7 总结 7 8 系统开发所用到的技术 7 参考文献 9 附录 全部代码10 1实践的目的与要求 1.1 实践目的 采用分块查找的方法查找指定的关键码 1.2 课程设计要求 1)可以循环查找,可以选择退出; 2)分别采用顺序存储和链式存储完成分块查找,其中在顺序存储结果下,索引表 的查找采用二分查找; 3)分别用函数完成索引表查找和块中查找; 4)每一个函数要有必要的注释,在课程设计论文中有流程图。 2 分块查找概述 2.1 分块查找简介 分块查找是折半查找和顺序查找的一种改进方法,折半查找虽然具有很好的性能, 但其前提条件时线性表顺序存储而且按照关键码排序,这一前提条件在结点树很大且表 元素动态变化时是难以满足的。而顺序查找可以解决表元素动态变化的要求,但查找效 率很低。如果既要保持对线性表的查找具有较快的速度,又要能够满足表元素动态变化 的要求,则可采用分块查找的方法。分块查找的速度虽然不如折半查找算法,但比顺序 查找算法快得多,同时又不需要对全部节点进行排序。当节点很多且块数很大时,对索 引表可以采用折半查找,这样能够进一步提高查找的速度。 分块查找由于只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于 节点动态变化的情况。当增加或减少节以及节点的关键码改变时,只需将该节点调整到 所在的块即可。在空间复杂性上,分块查找的主要代价是增加了一个辅助数组。 需要注意的是,当节点变化很频繁时,可能会导致块与块之间的节点数相差很大, 没写快具有很多节点,而另一些块则可能只有很少节点,这将会导致查找效率的下降。 2.2 基本思想 1)分块查找要求把一个大的线性表分解成若干块,每块中的节点可以任意存放, 但块与块之间必须排序。假设是按关键码值非递减的,那么这种块与块之间必 须满足已排序要求,实际上就是对于任意的i,第i块中的所有节点的关键码值 都必须小于第i+1块中的所有节点的关键码值。 2)建立一个索引表,把每块中的最大关键码值作为索引表的关键码值,按块的顺 1 序存放到一个辅助数组中,显然这个辅助数组是按关键码值费递减排序的。 3 )查找时,首先在索引表中进行查找,确定要找的节点所在的块。由于索引表是 排序的,因此,对索引表的查找可以采用顺序查找或折半查找。然后,在相应 的块中采用顺序查找,即可找到对应的节点。 2.3 分块查找的优点 在线性表中插入或删除一个元素时,只要找到相应的块,然后在该块内进行插入或 删除即可。由于块内元素个数相对较少,而且是任意存放的,所以插入或删除比较容易, 不需要移动大量的元素。 由于分块查找的过程是分两步进行的,所以在查找表中查找一个待查找记录的ASL 为: ASL =ASL +ASL bs b w 其中:ASLb 是在索引表中查找记录所在块的平均查找长度;ASLw 是在块中查找待查 找记录的平均查找长度。 假设将长度为n 的查找表均匀地分为b 块,每块含有s 个记录,即「n/s 」,再假设 查找表中查找每一个记录的概率相等,则查找索引表的概率为1/b,在块中查找待查找 记录的概率为1/s。 1) 若采用顺序查找确定待查找记录所在块,那么,分块查找的平均查找长度为: ASL =ASL +ASL = b 1 s 1 b  1 s  1 1 n bs b w

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

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

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档