内容正文:
第二单元 算法的效率
算法的评价方法
第九课
浙教版·新教材
学习目标
01
课堂导入
02
03
算法评价的方法
04
算法评价体验
05
目录
CONTENTS
建构
课堂任务
2
PART 1
学习目标
学习目标
1.算法评价的方法
2.多种算法的效率比较
PART 2
课堂导入
课堂导入
同学们上节课我们知道可以用多种方法解决同一个问题,我们既可以采用顺序查找法解决猜数字程序,也可以采用二分法查找,怎么判断哪种方法效果更好呢?有什么评价标准吗?
童童去学校走哪条路线最方便呢?我们通过判断路线长短,可以选择最近路线去学校。算法又是怎么评价的呢?
课堂导入
同学们上节课我们知道在设计猜数字游戏时,我们采用了顺序查找法和二分法查找,这节课我们以猜数字游戏为例,学习算法的评价方法,体验算法的评价。
1 2 ··· 36 37 38 ··· 98 99 100
算法一:顺序查找
算法二:二分查找
目标数:37
目标数:37
同学们讨论一下哪种算法更好呢?理由是什么呢?
PART 3
算法的评价方法
新知探究
“好”的算法,除了符合“正确性、有效性”等标准外,还需要有较高的算法运行效率,即算法运行所消耗的时间较短。
算法的评价方法
算法运行后的结果必须是正确的
算法必须能有效解决问题
算法运行的效率越高越好
新知探究
算法的评价方法
影响算法效率的因素
数据规模
数据规模
数据规模
数据规模
同样数据规模,算法越好效率越高
数据规模越大,算法的效率越低
PART 4
算法评价体验
新知探究
我们比较算法的效率时,用同样规模的数据,估算算法的运算时间,也可以将算法中循环语句的执行次数作为度量标准。
算法评价体验
目标数为37顺序查找法程序执行:
顺序查找法循环执行37次
新知探究
我们比较算法的效率时,用同样规模的数据,估算算法的运算时间,也可以将算法中循环语句的执行次数作为度量标准。
算法评价体验
目标数为37二分法程序执行:
二分法循环执行3次
新知探究
我们在0-100的数之间猜测目标数为37时,用顺序查找和二分查找进行了对比,明显二分法循环次数要比顺序查找少的多,这个问题中,二分法效率比顺序查找法效率要高一些。那么二分法效率就一定比顺序查找法效率高吗?
算法评价体验
哪种算法的效率更高呢?
想一想如果猜数字范围扩大到1000,目标值还是37,运用顺序查找和二分法各要循环多少次?
算法评价体验
新知探究
运用顺序查找法查找过程还是从1到37,循环次数不变。
运用二分法查找程序验证,需要次数9次
二分法效率就一定比顺序查找法效率高吗?
算法评价体验
新知探究
目标数 查找算法 循环执行次数 效率
1 顺序 1 高
二分 6 低
50 顺序 50 低
二分 1 高
100 顺序 100 低
二分 6 高
在1-100的范围内,用两种算法分别查找1、50、100
我们发现查找数据不同,两种算法的效率各有优势!
PART 5
课堂任务
课堂任务
这节课我们了解了算法的评价方法,通过对“猜数字”游戏顺序查找法和二分法的算法效率评价,了解到一种算法的效率高低并不是一成不变的还跟数据规模和数据的值有关。
练习任务:请同学们讨论一下根据不同的目标值,怎么选择效率更高的算法来解决问题。
谢谢
下节课见!
Thanks!
浙教版·新教材
$