高三信息技术专题复习 高三信息技术算法专题训练十四(查找).doc
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《高三信息技术专题复习 高三信息技术算法专题训练十四(查找).doc》由用户(cbx170117)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高三信息技术专题复习 高三信息技术算法专题训练十四查找 信息技术 专题 复习 算法 训练 十四 查找 下载 _人教版_信息_高中
- 资源描述:
-
1、 1 高三算法复习十四(查找) 对分查找对分查找算法的基本思想算法的基本思想 对分查找的前提是数据已经【1】 。把要查找的数与数组 【2】 位 置的数进行比较,如果相等,则已找到并退出查找,否则将查找范围【3】 。 在确定了新的查找范围后,重复进行以上比较,直到找到或查找范围已经上界【4】 下界。 给出一组数据,要掌握利用对分查找方法找某个数依次查找到的数据及需要查找的 次数。若给出的数据无序,则必须先排序再查找。 对分查找算法的程序实现对分查找算法的程序实现 要求:设被查找的数据在数组 d 中,所有 n 个数据已按增序(从小到大)排列。要 查找的数在变量 key 中。若找到,输出该数据所在的
2、位置 pos=m;若未找到,pos 为 0, 输出结果找不到。 用变量 i、 j、 m 分别表示查找数据范围的底部 (数组的下界) 、 顶部 (数 组上界)和中间。 用循环语句可以实现不断查找,但由于查找的次数不能确定,因此不适合用 for 语 句,可以用【5】 语句。对分查找强调查找范围,变量 i、j 分别表示查找数据 范围的下界和上界,一旦当 iji,则表示查找范围已经不存在了,因此继续查找的条件 是【6】 。对分查找的基本操作是:计算中点位置 m比较【7】 ,并 做相应处理。此时可以用以下算法表示: 计算中点位置:m=【8】 比较 key 与 d(m)有三种情况: key=d(m),表示
3、找到,记下中点位置 m,并结束查找(加上强制退出循环语句 exit do) keyd(m),要找的数比中间位置的数大,则要到大的那部分去找,此时 j 不变,i=【10】 三种情况可以用多条件分支结构语句来实现, 并用变量 nc 表示查找的次数, 此时算 法得到进一步求精,对分查找的程序段如下: key=val(text1.text) nc=0:pos=0 i=1:j=n Do while i=j nc=nc+1 m=fix(i+j)/2) If key=d(m) then i=1:j=n Do while i=j 计算中点位置 m 比较 key 与 d(m),并做相应处理 loop 2 pos
4、=m :exit do Elseif 【11】 Then j = m - 1 Else i = m + 1 End If Loop 【自我校对】 【1】有序 【2】中间 【3】缩小一半 【4】小于 【5】do while 【6】i=j 【7】key 与 d(m) 【8】fix(i+j)/2)或 Int(i+j)/2) 或 m=(i+j)2 均可 【9】m-1 【10】m+1 【11】keyd(m) 1、某公司委托花店公司给本公司职工生日的时候送花,花店设计了一个生日查询系统。 输入某个日期,就能查出所有这天生日的职工名单,并统计出生日人数。所有职工的姓 名和出生年月(以年月日形式,如 1982
5、1103)事先存放数组 na 和数组 birth 中。 界面如图 VB-1 所示,在文本框 text1 中输入查询的日期(以月日形式,如 0517) ,单击 “查询”按钮,在列表框 list1 中显示所有这个日子生日的职工名单,并在 label3 处显 示这天共有几个职工生日,如果人数为 0,就在列表框 list1 中显示“本天没有职工生 日” 。 Dim na (1 to n) as string,birth(1 to n) as string Private Sub Command1_Click() Dim x As String, t As String, i As Integer, c
展开阅读全文