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

5.4查找算法的程序实现VIP免费

5.4查找算法的程序实现_第1页
1/11
5.4查找算法的程序实现_第2页
2/11
5.4查找算法的程序实现_第3页
3/11
对分查找及程序实现富阳区新登中学施轶林【小游戏】从2,45,31,79,66,29,88,63,18,9,55中查找某一个数,该如何查找?【思考】还有其他更高效的方法吗?如果这组数有10万个,该怎么查找?【对分查找基本思想】首先将查找目标与有序数组内处于中间位置的元素进行比较,如果的值与目标相同,表示找到;否则根据数组元素的有序性,就可确定应该在数组的前半部分还是后半部分继续进行查找,直到获得最终结果。【tips】对分查找时,查找数据必须有序。顺序查找无此条件。位置1234567891011数据612151822252835465860【对分查找过程演示(key=35)】查找次数查找范围midkey与d(mid)的关系ijmid第一次d(1)-d(11)d(7)-d(11)第二次第三次第四次d(7)-d(8)d(8)6978key>d(mid)keyd(mid)key=d(mid)动画【小试身手】1.七名同学的身高(单位:cm)从高到低依次为:178,177,175,172,170,165,162,用对分查找找到178所需要的查找次数是次,依次访问到的数据是。2.有1000个数据按照从小到大的顺序存放在数组a(1to1000)中,使用顺序查找的最大次数为次,使用对分查找的最多次数为次。3172,177,178100010【结论】数据规模越大,对分查找效率越高;顺序查找最大查找次数:n次对分查找最大查找次数:Int(log2n+1)次输出m输出“未找到”NYi=1:j=n计算m的值key=d(m)?YNkeyjthenText2.Text="没有找到"m=(i+j)\2orj=m-1【对分查找程序实现】i=m+1【讨论】请说一说什么情况下,程序将终止查找?学案第3题【驾轻就熟】①Fori=1to100②ExitDo③Top=m-1学案第4题①Int((i+j)/2)②search=b(m):ExitFunction③a(m)

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

碎片内容

5.4查找算法的程序实现

您可能关注的文档

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