- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
选择排序的算法及程序实现.doc
选择排序的算法及程序实现
浙江省慈溪中学 施迪央
教学分析:
本节课是浙江教育出版社出版的普通高中课程标准实验教科书《算法与程序设计》第二第3节以及第五章第3节的部分教学内容。
经过冒泡排序的学习,学生对计算机排序有了一定的认识。选择排序是对冒泡排序的改进。特别是对键盘输入的一批数据进行选择热排序,无非是冒泡的代码改为选择代码,所以学习起来相对轻松了。
关于选择排序的算法及程序实现我安排了3个课时,本案例是在教室内完成的2节随堂课,第3课时安排学生任选下面一个主题进行上机实践,主题一:对键盘输入的一批数据进行选择排序,主题二:对计算机自动生成的一批数据进行选择排序。
教学目标:
1、知识与技能:
了解选择排序的概念及特点
掌握选择排序算法的原理
初步掌握选择排序的程序实现
选择排序与冒泡排序的异同。
2、过程与方法
理解选择排序的分析过程,并初步掌握用选择排序算法来设计解决简单的排序问题
3、情感态度与价值观
通过选择排序过程的体验,培养学生使用科学方法解决问题的能力
使学生深入理解计算机的工作原理,激发了学生学习程序兴趣。
教学重点:
选择排序算法的原理
教学难点:
分析选择排序的实现过程
教学策略:
讲授法与探究法。教师讲授、学生听讲,教师提问、学生动脑,层层深入,步步为营,一切水到渠成。
教学准备:
编写好手动输入一系列的数据的选择排序的程序
编写好计算机自动生成数据的选择排序的程序
课堂中使用的教学课件
教学过程:
一、选择排序的算法思想及程序实现
1、关于选择排序的思想
问题一:什么是选择排序(selection sort)
选择排序是对冒泡排序算法的改进,在参加排序的所有数组元素中找出最小数据的元素,使它与第一个元素中的数据相互交换位置。然后再在余下的元素中找出最小数据的元素,与第二个元素中的数据相互交换位置,以此类推,直到所有元素成为一个有序的序列。此方法中交换的次数比冒泡排序少,具有较高的效率。
第一遍加工:第一个元素a(1) 最小数据a(k) 交换位置
第二遍加工:第二个元素a(2) 最小数据a(k) 交换位置
……
问题二:交换位置有条件吗?条件是什么?
有
第一遍k1,第二遍k2,第三遍,k3……
问题三:选择排序交换的次数最多是几次?
最多是排序的遍数,若n个数据,交换的次数最多是n-1遍,即交换的次数要比冒泡排序少。
2、提出待排序的任务并作初步的加工
例子:有下面一组数据,3,8,1,7,用选择排序法实现从小到大的排序
这4个数据分别用数组变量a的4个数组元素a(1)、a(2)、a(3)、a(4)来存储
问题一:你能根据选择排序的概念来写出每遍加工的结果吗?
问题二:4个数据选择排序需要通过几遍加工?n个数据呢?
3遍,n-1遍,与冒泡排序相同
问题三:请用语言来描述一下计算机实现选择排序的思路吗?
第一遍加工:找到4个数据中(即待排序区域a(1)~a(4))的最小数1,与第一个位置的数据3发生位置交换
第二遍加工:找到3个数据中(即待排序区域a(2)~a(4))的最小数3,与第二个位置的数据8发生位置交换
第三遍加工:找到2个数据中(即待排序区域a(3)~a(4))的最小数7,与第三个位置的数据8发生位置交换
问题四:在什么情况下不发生位置交换?
在待排序区域中的第一个位置的数据就是要找的最小数,不用交换
选择排序算法及程序初步实现
(1)第一遍加工:
分析如下:
根据分析过程,写出第一遍加工代码:
(2)第二遍加工:
分析如下:
根据分析过程,写出第二遍加工代码:
问题一:变量i、j、k有什么区别和联系?
共同点:三个变量都是数组a的下标变量,即都表示某一数组元素
不同点:i另外表示数据的某遍处理,i=1表示第一遍处理,i=2表示第二遍处理……
K另外表示最小数据的下标
(3)第三遍加工:
根据前两遍加工的分析,写出第三遍加工代码,如下:
(4)4个数据进行选择排序的程序代码
4、n个数据进行选择排序的通用代码,用双重循环解决
问题一:双重循环中,外、内循环的意义各是什么?
外循环是加工的遍数,n个数据需要加工n-1遍
在For i……Next i中间部分,是每一遍的具体加工过程
演示选择排序算法.swf,观察流程图,体验流程的执行过程,并请学生用语言表达程序
运行过程
二、选择排序跟冒泡排序的异同
1、相同点:
①处理遍数相同:n个数据需处理n-1遍
②每一遍都是找最小数
2、不同点:
①找最小数的方法不同
冒泡,每一遍排序,总是从最末位置的数据与前面相邻位置的数据发生比较,如果小于前面位置的数据,则交换;重复这一过程,直到处理完待排序数据区域中的最前面两个位置的数据为止;
选择,每一遍排序,总是在待排序的无序区域
您可能关注的文档
最近下载
- 工作研究:实施乡村振兴战略,建设美丽乡村.doc VIP
- 港口危险货物包装专项试卷.doc VIP
- 2024年教师系列中高级职称评审有关政策解读附件10.doc VIP
- 《电力机车制动机》课件 5-18-1 DK-2无火回送.pptx
- 中国心血管健康与疾病报告2023PPT课件.pptx VIP
- 电气自动化设备安装与维修专业(中、高级工)体化课程.pdf VIP
- 河南科技大学 《概率论与数理统计》 试卷2016–2017第二学期期末试卷C.pdf VIP
- 第十六章-会阴部手术病人的护理.pptx VIP
- 小学语文教学课件:《安徒生童话》推进课.pptx
- 学生职业规划大赛《网络工程专业》生涯发展展示PPT.pptx VIP
原创力文档


文档评论(0)