资源简介
(共15张PPT)
算法的评价方法
浙教版六年级上册
第9课 算法的评价方法
学习内容
1. 算法评价的方法。
2. 多种算法的效率比较。
讨论
解决某个问题可能会有多种不同的算法,如何评价算法的“好”与“差”呢?
建构
针对某个问题,可以设计多个算法来解决,但不同的算法其效率是有差异的。算法是有“好”与“差”之分的,在一定条件下,当然要选择“好”的算法。
一、算法评价的方法
“好”的算法,除了符合“正确性、有效性”等标准外,还需要有较高的算法运行效率,即算法运行所消耗的时间短。通常用算法时间复杂度来评估。
一般情况下,算法运行需要的时间与待求问题的规模有关,如通过循环的方式求 100 个人的总分与求 1000 个人的总分,循环体执行的次数是不一样的,执行时间显然有差别。在估算算法时间复杂度时,可以将算法中语句的执行次数作为度量标准。
一、算法评价的方法
例如,顺序查找算法对应的程序如下:
一、算法评价的方法
上述程序在执行时,针对变量 qs 为某一个值时,循环语句 while 会执行 1次,循环体中的 if 语句会执行 1 次,if 语句中对应语句块中的语句会执行 1 次。当变量 qs 的值变为 37 时,语句总的执行次数约为 114 次。
试一试
修改上述程序,增加一个变量t来统计while语句的执行次数,并显示数值。
二、算法评价体验
解决同一个问题的不同算法,在执行时算法的时间复杂度是有一定差异的。
同样是查找目标数 37,下述二分查找算法在执行时,变量 qs 的值依次取 50、25、37,也就是说,循环共执行了 3 次,语句总的执行次数为 19 次。
想一想
若将上述算法中变量zz的值修改为1000,即在1~1000范围内查找目标数37,则该算法的语句总的执行次数有何影响?
练一练
在 1~100 范围内,分别采用顺序和二分算法查找目标数 1、50 和 100,估算循环语句的执行次数。
谢谢聆听!
INTERNET OF THINGS
谢谢
21世纪教育网(www.21cnjy.com)
中小学教育资源网站
兼职招聘:
https://www.21cnjy.com/recruitment/home/admin
展开更多......
收起↑