选择排序一师一优课.ppt_第1页
选择排序一师一优课.ppt_第2页
选择排序一师一优课.ppt_第3页
选择排序一师一优课.ppt_第4页
选择排序一师一优课.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,冒泡排序,For i = 1 To n-1 For j = n To i + 1 Step -1 If a(j) a(j - 1) Then temp = a(j) a(j) = a(j - 1) a(j - 1) = temp End If Next j Next i,升序,N-1遍加工,N*(N-1)/2次比较,第一遍加工(i=1),第二遍加工(i=2),第三遍加工(i=3),第四遍加工(i=4),选择排序及其程序实现,姓 名 : 张 丽,学 科 : 信 息 技 术,第一遍加工(i=1),第二遍加工(i=2),第三遍加工(i=3),第四遍加工(i=4),For i = 1 To 4 Ne

2、xt i,For j = i+1 To 5 第i遍加工进行元素的比较 Next j,If a(i) a(j ) Then temp = a(i) a(i) = a(j ) a(j ) = temp End If,交换次数多,不够优化,第一遍加工:i=1,第二遍加工:i=2,第三遍加工:i=3,第四遍加工:i=4,5个元素, 几次加工?,4,For i = 1 To 4 5个元素4遍加工 Next i,For j = i+1 To 5 第i遍加工进行最小元素的查找 Next j,k=i k用来记录数组中最小值的下标,初值为i,if d(j)d(k) then k=j,if ki then tem

3、p=d(i) : d(i)=d(k) : d(k)=temp,选择排序优化,选 择 排 序,在参加排序数组的所有元素中找出最小(或最大)数据的元素,使它与第一个元素中的数据交换位置。然后再在余下的元素中找出最小(或最大)数据的元素,与第二个元素的数据交换位置。以此类推,直到所有元素成为一个有序的序列。,For i = 1 To n-1 n个元素n-1遍加工 Next i,For j = i+1 To n 第i遍加工进行最小元素的查找 Next j,k=i k用来记录数组中最小值的下标,初值为i,if d(j)d(k) then k=j,if ki then temp=d(i) : d(i)=d

4、(k) : d(k)=temp,找出d(i)d(n)中最小元素的下标记录在k中,选 择 排 序 的 程 序 实 现,游戏规则:按照座位顺序,从1开始数起,每个人数一个数,凡是遇到7的倍数就要喊“过”,这样一直数到100为止。,游戏创境,引入新知,导,游戏创境,引入新知,第1位同学喊数, 判断是否为7的倍数,第2位同学喊数, 判断是否为7的倍数,第3位同学喊数, 判断是否为7的倍数,第4位同学喊数, 判断是否为7的倍数,第100位同学喊数, 判断是否为7的倍数,枚举算法,一一列举,逐个检查,导,学习新知,任务梳理,N,N,Y,Y,i=100?,i mod 7=0?,i=i+1,i=1,输出i,列

5、举范围:,1100,检验条件:,i能否被7整除,用变量i表示要列举的自然数。,结束,开始,学,学习新知,任务梳理,N,N,Y,Y,i=100?,i mod 7=0?,i=i+1,i=1,输出i,结束,开始,(循环结构),(选择结构),循环中嵌套选择,一 一列举,逐个检查,学,动手实践,实现算法,Private Sub Command1_Click() i = 1 Do While If Then Print i End If Loop End Sub,践,i=1 Do while i=100 if i mod 7=0 then print i end if i=i+1 loop,程序代码(do

6、 语句),动手实践,实现算法,For i=1 to 100 step1 if i mod 7=0 then print i end if Next i,程序代码(for 语句),践,动手实践,实现算法,枚举算法的设计步骤,践,巩固提升,活学活用,固,水仙花数: 是指一个 n 位数 ( n3 ),它的每个位上的数字的 3 次幂之和等于它本身。,(例如:13 + 53 + 33 = 153),巩固提升,活学活用,固,Private Sub Command1_Click() Dim a, b, c As Integer For i = 100 To 999 a = 百位数 b = 十位数 c = 个

7、位数 If Then List1.AddItem Next i End Sub,i100,i 10 Mod 10,i Mod 10,a3+b3+c3=i,=i,i,算法评价,课堂总结,结,For i = 100 To 999 a = i100 b = i10-a*10 c = i-a*100-b*10 If a3+b3+c3=i Then List1.AddItem i Next i,For i = 100 To 999 a = Val(Mid(i, 1, 1) b =Val(Mid(i, 2, 1) c = Val(Mid(i, 3, 1) If a3+b3+c3=i Then List1.AddItem i Next i,算法评价,课堂总结,结,课 堂 小 结,一 一列举,逐个检查,循环结构中嵌套选择结构,确定列举范围;明确检验条件,生活中有许多问题可以由枚举算法解决,try it,5、教 学 过 程,感谢观看!,2013.08,2013.10,2013.12,2014.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论