对分查找算法.pptxVIP

  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~100之间,请大家用最少的次数来猜出这个数。你会先猜几? 如果我告诉你这个数是15, 按照刚才的逻辑,几次可以猜到这个数呢? 在刚才的沟通中,其实隐藏着一个非常经典的算法—对分查找 对分查找实施原理 (1)对分查找是效率很高的查找方法, 但被查找的数据必须是有序的。 (2)首先将查找的数与有序数组内处于中间位置的数据比较, 如果中间位置上的数与查找的数不同, 根据有序性,就可确定应该在数组的前半部分还是后半部分继续查找。 (3)在新确定的范围内,继续按上述方法进行查找,直到获得最终结果。 key=48时对分查找处理过程 思考两个问题: ①d(mid)key时, 新查找的范围为下半部分,i和j的变化规律是怎样的? ②如果要找的是52,最后i、 j、 mid分别是多少? key=17时对分查找处理过程 思考: 当d(mid)key时,新查找的范围在哪里?i和j如何变化? 总结:如果d(mid)key,新查找范围为上半部分,i值不变,j=mid-1。 key=20时对分查找处理过程 总结: ①找到了查找会结束。 ②在i=j时重复查找,如果还是找 不到, 查找也会结束。 对分查找的过程 对各种情况进行归纳总结 (1)key与d(mid)的大小比较影响i、j取值的规律: i的取值规律:如果d(mid)key,那么i=mid+1。 j的取值规律:如果d(mid)key, 那么j=mid-1。 (2)继续进行重复查找的条件: i≤j。 对分查找的比较次数 对于有5000个元素的数组,使用对分查找,最多要查问多少个数据?使用顺序查找呢?试比较两种查找算法的效率。

文档评论(0)

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

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

1亿VIP精品文档

相关文档