- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
大学计算机基础——基于计算思维(Windows10+Office2016)第10章算法思维与运用10.4.2二分查找10.4查找算法
问题5二分查找某体校要招各类体育专长人员,根据专业不同,对身高有不同的要求。现有若干人的身高数据按从低到高的顺序存放在数据文件“data2.txt”中(每行一个),当招生人员从键盘输入一个身高值,请在文件中查找该身高值,若找到则给出其位置(第几行),若没找到,提示“nofound”。data2.txt若找到则给出其位置(第几行)输入查找若没找到,提示“nofound”输出
问题5二分查找1.问题分析本问题中数据集中的数据是有序的,已按从低到高的顺序排好,那能不能利用这一条件提高查找效率呢?
问题5二分查找1.问题分析先看这样一个游戏:猜某件商品的价格,已知商品的价格范围(假设为1~100元),每猜一次主持人可以回答游戏者所猜价格比实际价格高了还是低了,若在规定次数内就能猜对者,就可免费获得该商品。为了减少猜的次数,提高命中的效率,你会怎样猜呢?通常会从1到100元的中间值50元开始猜,如果高了,则进一步从1到50元的中间值25再开始猜;而如果低了,则从50到100元的中间值75开始猜,这种猜价格的方法称为折半方法。把折半方法应用在查找中,就称为折半查找法(又称二分查找),它是在一个有序的元素列表中查找特定值的一种方法,该顺序可以是升序,也可以是降序。
问题5二分查找1.问题分析二分查找顺序查找
问题5二分查找2.算法实现设计折半查找子程序halfsearchhalfsearch的参数和顺序查找算法中search的一样,输入参数有a、n、key,输出参数有flag、wz。
问题5二分查找2.算法实现设计折半查找子程序halfsearch假设用left表示每次查找范围的最小值,right表示每次查找范围的最大值,第1次查找范围是(left=1,right=n),以后每次不是left变,就是right变,当最后变到leftright就说明查找失败,所以其也作为循环结束的一个条件。第1次查找范围(left=1,right=n)......第n次查找范围leftright,查找失败
问题5二分查找2.算法实现设计折半查找子程序halfsearch在查找前,要完成flag、wz、left、right和middle(中间位置)的初始化。完成初始化
问题5二分查找2.算法实现设计折半查找子程序halfsearch开始查找后,是取中间位置的值(即a[middle])和key比较,若相等,则状态变量flag=1;否则还要判断a[middle]是小于还是大于key值,从而决定是left变化还是right变化,然后重新计算中间位置,再重复查找。
感谢聆听!大学计算机基础——基于计算思维(Windows10+Office2016)
您可能关注的文档
- 大学计算机基础 课件 9.1.1程序设计语言.pptx
- 大学计算机基础 课件 9.1.2集成开发环境.pptx
- 大学计算机基础 课件 9.1.3Raptor的出现.pptx
- 大学计算机基础 课件 9.2.1知识点解析.pptx
- 大学计算机基础 课件 9.2.2任务实现.pptx
- 大学计算机基础 课件 9.2.3总结与提高.pptx
- 大学计算机基础 课件 9.3.1知识点解析.pptx
- 大学计算机基础 课件 9.3.2任务实现.pptx
- 大学计算机基础 课件 9.4.1知识点解析.pptx
- 大学计算机基础 课件 9.4.2任务实现.pptx
- 第三单元解决问题的策略 三年级下册数学高频考点重难点讲义(苏教版)(1).docx
- 4.4 解比例 数学六年级下册同步培优讲义(苏教版).docx
- 第四单元《根据方向与距离确定物体位置》(教案)五年级下册数学青岛版.docx
- (奥数典型题)第三讲 分解质因数 五年级下册数学思维拓展提升讲义(人教版).docx
- 2.2:2、5、3的倍数-人教版五年级数学下册第二单元:因数和倍数.docx
- 第六单元正比例和反比例 六年级下册数学高频考点重难点讲义(苏教版).docx
- 第二单元除数是一位数的除法 三年级下册数学高频考点重难点讲义(人教版).docx
- 第二单元-认识三角形和四边形 四年级数学下册提升(北师大版).docx
- 第一单元观察物体(三)五年级下册数学高频考点重难点讲义(人教版).docx
- 第九单元 数学广角—推理 二年级数学下册重难点知识点(人教版).docx
文档评论(0)