内容正文:
第二单元 算法的效率 第9课 算法的评价方法 导学案
班级:________ 姓名:________
【学习目标】
1.信息意识:知道同一问题存在多种算法,明白算法有优劣之分,能够感知算法运行效率带来的实际差异。
2.计算思维:掌握算法评价基本标准;学会利用循环执行次数衡量算法效率;能够对比顺序查找、二分查找的执行效率。
3.数字化学习与创新:能够修改程序增加计数器统计循环次数;借助表格估算不同算法执行次数,自主完成算法效率对比实验。
4.信息社会责任:形成择优选用算法的思维,懂得在解决问题时选择高效算法,培养优化方案、理性评估方案的意识。
【学习过程】
(一)阅读学知识(填空题 5 题)
1.解决同一个问题的多种算法,运行时存在________的差异,算法有优劣之分。
2.评价算法,除正确性、有效性外,还需要考量算法的________,也就是运行消耗时间长短。
3.在问题规模相同的条件下,可以用算法中________的执行次数作为衡量运行时间的标准。
4.在 1-100 范围内查找数字 37,顺序查找算法循环执行____次,二分查找循环执行____次。
5.二分查找算法要求数据必须是________排列的。
(二)活动提能力(体现教材想一想、试一试)
活动 1:讨论探究(教材讨论)
思考:同一个问题可以设计多种算法,我们依靠什么标准评价算法的好与差?小组交流想法。
活动 2:试一试(程序修改任务)
任务:修改顺序查找示例程序,新增变量ci统计 while 循环执行次数,最终输出循环次数。
原始程序参考:
python
运行
da=37
cai=1
while cai<101:
if cai==da:
print("找到的数为:",cai)
break
else:
cai=cai+1
活动 3:想一想(拓展思考)
思考:在 1-1000 范围内查找目标数 37,二分查找循环一共执行多少次?尝试模拟查找过程。
活动 4:练习任务(表格统计)
在 1-100 范围内,估算不同目标数使用两种查找算法的循环次数,填写下表:
目标数
查找算法
循环执行次数
1
顺序
1
二分
50
顺序
50
二分
100
顺序
100
二分
活动 5:建构归纳
小组讨论总结:影响算法效率的因素是什么?顺序查找与二分查找分别适合什么场景。
(三)检测显素养
一、选择题(5 题)
1.衡量算法运行效率,本节课采用的参考标准是()
A. 代码长短 B. 循环语句执行次数 C. 变量数量 D. 文件名
2.在 1-100 查找数字 37,关于两种查找算法描述正确的是()
A. 顺序查找循环次数更少 B. 二分查找循环次数更少
C. 两种算法循环次数相等 D. 二分查找无需有序数据
3.二分查找能够使用的前提条件是()
A. 数据无序排列 B. 数据有序排列 C. 数据数量少于 10 个 D. 数字必须大于 50
4.下面说法正确的是()
A. 所有算法运行效率完全相同
B. 解决同一问题,不同算法效率可能存在差异
C. 顺序查找永远比二分查找更快
D. 算法无法进行优劣评价
5.想要统计循环执行次数,我们可以添加()
A. 计数器变量 B.break 语句 C.print 语句 D.if 判断
二、判断题(5 题)
1.解决同一个问题,不同算法运行时间可能存在差异。()
2.二分查找在任何数据场景下都可以使用。()
3.循环执行次数越多,一般代表算法运行耗时更长。()
4.顺序查找只能从小到大依次查找数字。()
5.评价算法只需要保证程序能够运行即可,不需要关注效率。()
三、简答题(2 题)
1.简要说说:我们可以用什么方式来估算算法运行效率?
2.在 1-100 范围内查找数字,什么时候顺序查找有可能比二分查找更快?
参考答案
(一)阅读学知识
1.运行效率
2.运行效率
3.循环语句
4.37;3
5.有序
(二)活动提能力参考答案
活动 2 参考程序:
python
运行
da=37
cai=1
ci=0 #定义计数器
while cai<101:
ci=ci+1
if cai==da:
print("找到的数为:",cai)
print("循环一共执行次数:",ci)
break
else:
cai=cai+1
活动 3:1-1000 查找 37,二分查找循环执行 7 次。
活动 4 表格答案:
目标数
查找算法
循环执行次数
1
顺序
1
1
二分
7
50
顺序
50
50
二分
1
100
顺序
100
100
二分
7
活动 5 归纳参考:
循环执行次数越多,效率越低;顺序查找无需有序数据,适合少量无序数据;二分查找效率更高,但仅适用于有序数据。
(三)检测显素养
选择题
1.B 2.B 3.B 4.B 5.A
判断题
1.√ 2.× 3.√ 4.× 5.×
简答题参考
1.在问题规模相同的情况下,可以统计算法中循环语句的执行次数,以此估算算法运行效率。
2.当要查找的目标数字刚好是查找范围最靠前的数字(例如数字 1),顺序查找仅需要 1 次循环,此时比二分查找更快。
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$