首页
高中语文
高中数学
高中英语
高中物理
高中化学
高中历史
高中道德与法治(政治)
高中地理
高中生物
高中音乐
高中美术
高中体育
高中信息技术
高中通用技术
资源详情
高中信息技术
浙教版
选修1 算法与程序设计
第二章 算法实例
2.4 查找
浙教版选修一 2.4 查找 课件(14张)
文档属性
名称
浙教版选修一 2.4 查找 课件(14张)
格式
pptx
文件大小
8.3MB
资源类型
教案
版本资源
浙教版
科目
信息技术(信息科技)
更新时间
2021-01-08 17:06:26
点击下载
图片预览
1
2
3
4
5
6
7
文档简介
对分查找
algorithm
隐藏在游戏中的算法
小游戏体验
猜数字
思考:如何用最少的次数去猜到这个数字?
对分查找的方法
(1)首先将查找的数与有序数组内处于中间位置的数据比较,
如果中间位置上的数与查找的数不同,根据有序性,就可以确
定应该在数组的前半部分或者后半部分继续查找
(2)在确定新范围里,照上述方法继续寻找,直到最终结束
对分查找的过程:key=23
7 13 16 22 23 31 40
a(1) a(2) a(3) a(4) a(5) a(6) a(7)
第一次:
i
j
m
Key>a(m)在后半段中寻找
第二次:
7 13 16 22 23 31 40
a(1) a(2) a(3) a(4) a(5) a(6) a(7)
j
i
m
Key
7 13 16 22 23 31 40
a(1) a(2) a(3) a(4) a(5) a(6) a(7)
第三次:
i
m
j
找到了 a(m)=key
讨论总结:
i、j、m在对分查找过程中的变化情况
a(m)>key
i不变
j=m-1
a(m)
j不变
i=m+1
如果key的值找不到是怎么样的?
对分查找的过程:key=24
7 13 16 22 23 31 40
a(1) a(2) a(3) a(4) a(5) a(6) a(7)
第一次:
i
j
m
Key>a(m)在后半段中寻找
第二次:
7 13 16 22 23 31 40
a(1) a(2) a(3) a(4) a(5) a(6) a(7)
j
i
m
Key
7 13 16 22 23 31 40
a(1) a(2) a(3) a(4) a(5) a(6) a(7)
第三次:
i
m
j
7 13 16 22 23 31 40
a(1) a(2) a(3) a(4) a(5) a(6) a(7)
i
m
j
a(m)=23而 key=24 j不变 i=m+1 i越过了j
查找完,未找到key
结论:
1、 a(m)>key i不变 j=m-1
2、 a(m)
3、重复查找的条件是i<=j
利用流程图描述对分算法:
开始
i<=j
m=(i+j)\2
a(m)=key?
Y
N
Y
N
Y
N
结束
未找到
找到
a(m)
j=m-1
i=m+1
i=1,j=n
拓展:如果我的数是以降序排列,其中i,j,m的变化情况是否有新变化?如果有,请详述
如果我的数是以降序排列,流程图需要变化吗?如果有,请详述
再 见
点击下载
同课章节目录
第一章 算法和算法的表示
1.1 使用计算机解决问题的一般过程
1.2 确定解决问题的方法
1.3 把解决问题的方法步骤化
1.4 算法的概念和表示方法
第二章 算法实例
2.1 枚举算法
2.2 解析算法
2.3 排序
2.4 查找
第三章 面向对象程序设计的基本知识
3.1 面向对象程序设计方法简介
3.2 在可视化的程序设计环境VB中建立一个应用程序
第四章 VB程序设计初步
4.1 基本数据类型、常量、变量
4.2 基本运算和表达式
4.3 语句
4.4 过程和函数
第五章 算法实例的程序实现
5.1 枚举算法的程序实现
5.2 解析算法的程序实现
5.3 排序算法的程序实现
5.4 查找算法的程序实现
5.5 递归算法实例及程序实现
非试题类资料
点击下载
VIP下载