电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

对分查找算法及程序实现 ()VIP免费

对分查找算法及程序实现 ()_第1页
1/38
对分查找算法及程序实现 ()_第2页
2/38
对分查找算法及程序实现 ()_第3页
3/38
3.7对分查找算法及程序实现1.对分查找的概念对分查找又称二分查找,是一种高效的查找方法。对分查找的前提是,被查找的数据序列是有序的(升序或降序)。对分查找的基本思想是在有序的数列中,首先将要查找的数据与有序数列内处于中间位置的数据进行比较,如果两者相等,则查找成功;否则就根据数据的有序性,再确定该数据的范围应该在数列的前半部分还是后半部分;在新确定的缩少范围内,继续按上述方法进行查找,直到找到要查找的数据,即查找成功,如果要查找的数据不存在,即查找不成功。2.对分查找的过程若key为查找键,数组d存放n个已按升序排序的数据。在使用对分查找时,把查找范围[i,j]的中间位置上的数据d(m)与查找键key进行比较,结果必然是如下三种情况之一:(1)若keyd(m),由与(1)相同的理由,必须在新的范围(m+1,j)中继续查找。这样,除了出现情况(2),在通过一次比较后,新的查找范围将不超过上次查找范围的一半。中间位置数据d(m)的下标m的计算方法:m=(i+j)\2或m=fix((i+j)/2)以规模为16的递增数组d为例,观察对分查找的过程。要查找的数据key为37。3.对分查找算法的表示使用对分查找在数组变量d中查找key,用自然语言描述的算法如下:(1)(确定初始查找范围)i←1,j←n。(2)(是否能继续查找?)如果i≤j,那么转到(4)。(3)(找不到)输入出结果0,算法结束。(4)(计算中点位置)m←(i+j)\2。(5)(相等?)如果d(m)=key,那么转到(7)。(6)(修改查找范围)如果key

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

对分查找算法及程序实现 ()

您可能关注的文档

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群