- 6
- 0
- 约2.54千字
- 约 21页
- 2018-10-23 发布于天津
- 举报
m表示查找范围内中间位置数组元素的下标
对分查找算法实施前提:有序数字序列 中点位置的计算:(i+j)\2 新的查找范围的确定i=m+1或者j=m-1 查找结束的判定条件:找到数据或者ij * 猜数小游戏规则:计算机随机给定一个1-128之间的整数,计算机会根据你猜的数提示你比该数是大了还是小了,直到猜中。看谁猜的最快! 玩一玩 (1)对分查找是效率很高的查找方法,但前提是被查找的数据必须是有序的。 (2)首先将查找的数与有序数组内处于中间位置的数据比较,如果中间位置上的数与查找的数不同,根据有序性,就可确定应该在数组的前半部分还是后半部分继续查找。 (3)在新确定的范围内,继续按上述方法进行查找,直到获得最终结果。 对分查找算法原理 m=(i+j)\2 m=Fix((i+j)/2) m=Int((i+j)/2) 用数组d(1 to 10)存放升序的数字序列 i表示查找范围第一个数组元素下标(起始位置) j表示查找范围最后一个数组元素下标(终止位置) m表示查找范围内中间位置数组元素的下标(中间位置) 分解对分查找过程 m=(i+j)\2 52 48 45 35 27 22 18 17 15 10 d(10) d(9) d(8) d(7) d(6) d(5) d(4) d(3) d(2) d(1) key=48 d(m) m j i 查找次数 第一次 1 10 5 22 m=(i+j)\2 52 48 45 35 27 22 18 17 15 10 d(10) d(9) d(8) d(7) d(6) d(5) d(4) d(3) d(2) d(1) key=48 d(m) m j i 查找次数 第一次 1 10 5 22 第二次 6 10 8 45 m=(i+j)\2 52 48 45 35 27 22 18 17 15 10 d(10) d(9) d(8) d(7) d(6) d(5) d(4) d(3) d(2) d(1) key=48 d(m) m j i 查找次数 第一次 1 10 5 22 第二次 6 10 8 45 第三次 9 10 9 48 找到了 总结规律 每次d(m)与Key比较会确定下一次查找范围 i的取值规律: j的取值规律: 用对分查找算法查找数据(以升序数列为例) i=m+1 j=m-1 d(m)key d(m) key 任务一 完成任务单上第一题两个表格的填写 m=(i+j)\2 52 48 45 35 27 22 18 17 15 10 d(10) d(9) d(8) d(7) d(6) d(5) d(4) d(3) d(2) d(1) key=17 d(m) m j i 查找次数 第一次 1 10 5 22 第二次 1 4 2 15 第三次 3 4 3 17 找到了 m=(i+j)\2 52 48 45 35 27 22 18 17 15 10 d(10) d(9) d(8) d(7) d(6) d(5) d(4) d(3) d(2) d(1) key=20 d(m) m j i 查找次数 第一次 1 10 5 22 第二次 1 4 2 15 第三次 3 4 3 17 第四次 4 4 4 18 找不到 第五次 5 4 总结规律 根据i,j的初值,计算出中间位置m,比较Key与d(m),相等则输出,否则确定新i或新j,直到找到为止,这样重复操作可以采用什么结构? 循环结构 继续进行重复查找的条件? i=j Y Y N 开始 i?1,j?16 计算m d(m)=key? N d(m)key? i?m+1 N 继续查找? 输出“未找到” Y 输出找到的信息 结束 i=j m ?(i+j)\2 ? j ?m-1 对分查找流程图 输入查找键key 对分查找算法程序实现 Dim key As Integer, m As Integer, i As Integer, j As Integer ________________ 获得要查找数据key的值 ________________ 分别对i,j赋初值 Do While i = j ________________ ’求中间位置m的值 If d(m) = key Then Text2.Text = 在d( + Str(m) + )中 Exit Sub End If If d(m) key Then ________________ ’求i的值 Else ________________ ’求j的值 End If Loop Text2.Text = 找不到 任务二 Dim key As Integer,
您可能关注的文档
最近下载
- 小学生作文评讲课件.pptx VIP
- 教育部《中小学生信息素养提升手册(2024年新版)》全文 .pdf VIP
- 知识点 4.3 209系列转向架(一)(二)课件讲解.pptx VIP
- 抹茶生产工艺介绍-第二步:蒸青和烘干(碾茶的制作).doc VIP
- 流产手术后促进子宫内膜修复临床实践指南(2025年版).pptx VIP
- 一株新型水稻纹枯病病菌的鉴定及病菌效应蛋白的功能研究.pdf
- 209T转向架组装作业指导书.pdf VIP
- AI:新一轮科技革命改变世界——新时代的底层逻辑系列之三.pdf VIP
- 《教育从爱开始》读书分享.pptx VIP
- 使用消化酶类药物治疗消化不良的专家共识意见.pptx
原创力文档

文档评论(0)