资源描述
单击此处编辑母版标题样式,编辑母版文本样式,第二级,第三级,第四级,第五级,2019-07-04,#,让我们插上查找的翅膀,开启这堂课的旅程:,我要找一首歌。,我要找一个文件。,我要找一本书。,我要找一件衣服。,让我们插上查找的翅膀,开启这堂课的旅程:我要找一首歌。,1,如果我们解决问题总是在等待的状态:,如果我们解决问题总是在等待的状态:,2,先来一个:猜数字游戏,游戏规则:随机选取,4,位同学,两人一组,比赛谁先猜出,同学,A,心里想一个,1,100,之间的,数,,,同学,B,来猜,可以,问,问题,先来一个:猜数字游戏游戏规则:随机选取4位同学,两人一组,比,3,换一个方法猜!,换一个方法猜!,4,算法:解决问题的方法和步骤,算法:解决问题的方法和步骤,5,算法,在,解决问题中,的地位,和作用,算法在解决问题中的地位和作用,6,01,顺序查找,02,二分查找,游戏方法决定游戏的成功率,比较一下两种算法的优劣:,01顺序查找02二分查找游戏方法决定游戏的成功率,比较一下两,第一组:如何在书架上摆放图书?,第二组:如何在超市,找到要购买的指定物品?,第三组:彩票预测、,赌马预测等骗局如何实现?,头脑风暴:三个小项目问题,曾经有一个著名的骗局:,小明是一个赌马爱好者,最近他连续几次提前收到了预测赌马结果的邮件,从一开始由于不屑而错失良机,到渐渐深信不疑,直到最后给邮件发送方汇了巨款才发现上当。,第一组:如何在书架上摆放图书?第二组:如何在超市第三组:彩票,第一组:如何在书架上摆放图书?,第一组:如何在书架上摆放图书?,9,第一组:如何在书架上摆放图书?,第一组:如何在书架上摆放图书?,10,第一组:如何在书架上摆放图书?,第一组:如何在书架上摆放图书?,11,第一组:如何在书架上摆放图书?,第一组:如何在书架上摆放图书?,12,第一组:如何在书架上摆放图书?,第一组:如何在书架上摆放图书?,13,第一组:如何在书架上摆放图书?,有限的存储空间内运行有限长的时间,能得到正确的结果,算法可解,解决问题方法的效率跟其占用的时间和存储空间有关,第一组:如何在书架上摆放图书?有限的存储空间内运行有限长的时,14,看过这个的人应该知道,骗子收集到一份邮件信息后,分组发送不同预测结果的邮件,赌马结果公布后,再将筛选出来的那部分人分组,继续发送下一轮预测邮件。几轮过后,肯定能保证一部分人收到的预测结果是完全正确的。这也是最关键的部分。,那么骗子是如何从几万或几十万用户中寻找这些“幸运儿”的呢?这是一种二分法的思想。,假如要顺序在,100,万人中寻找一个人,最多需要,100,万次,而二分法只需要,18,次。,第三组:彩票预测、赌马预测等骗局如何实现?,看过这个的人应该知道,骗子收集到一份邮件信息后,分组发送不同预测,结果的邮件,赌马结果公布后,再将筛选出来的那部分人分组,继续发送下一,轮预测邮件。,几轮过后,肯定能保证一部分人收到的预测结果是完全正确的。这也是最,关键的部分。那么骗子是如何从几万或几十万用户中寻找这些“幸运儿”的呢?,这是一种二分法的思想。,假如要顺序在,100,万人中寻找一个人,最多需要,100,万次,而二分法只需,要,18,次。,看过这个的人应该知道,骗子收集到一份邮件信息后,分组发送不同,15,快速排序,二分查找效率取胜的前提是,数据必须有序,那么排序算法效率也决定了最终的查找效率,冒泡排序,插入,排序,快速排序二分查找效率取胜的前提是,数据必须有序,那么排序算法,01,穷举法,02,辗转相除法,动手试一试求,两个大整数最大公约数问题,01穷举法02辗转相除法动手试一试求两个大整数最大公约数问题,Private Sub Command1_Click(),Dim m As Long,n As Long,r As Double,m=Val(Text1.Text),n=Val(Text2.Text),t=Now,r=m Mod n,Do While r,0,m=n,n=r,r=m Mod n,Loop,Label2.Caption=,“,最大公约数,=,Label3.Caption=n,MsgBox Second(Now-t),0,程序运行时间为:,End Sub,求两个大整数最大公约数问题:,Private Sub Command1_Click(),Dim m As Long,n As Long,i As Long,m=Val(Text1.Text),n=Val(Text2.Text),t=Now,i=m,Do While m Mod i 0 Or n Mod i 0,i=i-1,Loop,Label2.Caption=,最大公约数,=,Label3.Caption=i,End Sub,Private Sub Command1_Click(),Dim,m As Long,n As Long,r As Double,m,=Val(Text1.Text),n,=Val(Text2.Text),t,=Now,r,=m Mod n,Do,While r 0,m,=n,n,=r,r,=m Mod n,Loop,Label2.Caption,=,最大公约数,=,Label3.Caption,=n,End,Sub,01,穷举法,02,辗转相除法,Private Sub Command1_Click()求两,18,小组讨论,并在学历案上简单描述自己的算法,有三个装油的瓶子,大瓶子可装,1L,中瓶子可装,0.7L,,小瓶子可,装,0.3L,,现有,1L,的油装在大瓶子中,请你设计一个算法,利用,这三个瓶子分别分出,0.5L,油来,请你在学历案上简单描述自己,的算法,并提交。,小组讨论,并在学历案上简单描述自己的算法有三个装油的瓶子,大,继续感受算法在解决问题中的地位和作用,继续感受算法在解决问题中的地位和作用,20,谢谢各位同学,THANKS,谢谢各位同学THANKS,21,
展开阅读全文