选择排序的算法及程序实现

选择排序的算法及程序实现

ID:27345790

大小:366.50 KB

页数:8页

时间:2018-12-02

选择排序的算法及程序实现_第1页
选择排序的算法及程序实现_第2页
选择排序的算法及程序实现_第3页
选择排序的算法及程序实现_第4页
选择排序的算法及程序实现_第5页
资源描述:

《选择排序的算法及程序实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、选择排序的算法及程序实现浙江省慈溪中学施迪央教学分析:本节课是浙江教育出版社出版的普通高中课程标准实验教科书《算法与程序设计》第二第3节以及第五章第3节的部分教学内容。经过冒泡排序的学习,学生对计算机排序有了一定的认识。选择排序是对冒泡排序的改进。特别是对键盘输入的一批数据进行选择热排序,无非是冒泡的代码改为选择代码,所以学习起来相对轻松了。关于选择排序的算法及程序实现我安排了3个课时,本案例是在教室内完成的2节随堂课,第3课时安排学生任选下面一个主题进行上机实践,主题一:对键盘输入的一批数据进行选择排序,主题二:对计算机自动生成的一批数据进行选择排序。教学目标:1、知识与技能:

2、了解选择排序的概念及特点掌握选择排序算法的原理初步掌握选择排序的程序实现选择排序与冒泡排序的异同。2、过程与方法理解选择排序的分析过程,并初步掌握用选择排序算法来设计解决简单的排序问题3、情感态度与价值观通过选择排序过程的体验,培养学生使用科学方法解决问题的能力使学生深入理解计算机的工作原理,激发了学生学习程序兴趣。教学重点:选择排序算法的原理教学难点:分析选择排序的实现过程教学策略:讲授法与探究法。教师讲授、学生听讲,教师提问、学生动脑,层层深入,步步为营,一切水到渠成。教学准备:编写好手动输入一系列的数据的选择排序的程序编写好计算机自动生成数据的选择排序的程序课堂中使用的教学

3、课件教学过程:一、选择排序的算法思想及程序实现1、关于选择排序的思想问题一:什么是选择排序(selectionsort)选择排序是对冒泡排序算法的改进,在参加排序的所有数组元素中找出最小数据的元素,使它与第一个元素中的数据相互交换位置。然后再在余下的元素中找出最小数据的元素,与第二个元素中的数据相互交换位置,以此类推,直到所有元素成为一个有序的序列。此方法中交换的次数比冒泡排序少,具有较高的效率。第一遍加工:第一个元素a(1)最小数据a(k)交换位置第二遍加工:第二个元素a(2)最小数据a(k)交换位置……问题二:交换位置有条件吗?条件是什么?有第一遍k<>1,第二遍k<>2,第

4、三遍,k<>3……问题三:选择排序交换的次数最多是几次?最多是排序的遍数,若n个数据,交换的次数最多是n-1遍,即交换的次数要比冒泡排序少。2、提出待排序的任务并作初步的加工例子:有下面一组数据,3,8,1,7,用选择排序法实现从小到大的排序这4个数据分别用数组变量a的4个数组元素a(1)、a(2)、a(3)、a(4)来存储变量a(1)a(2)a(3)a(4)初始3817结果1378问题一:你能根据选择排序的概念来写出每遍加工的结果吗?变量a(1)a(2)a(3)a(4)初始3817第一遍1837第二遍1387第三遍1378问题二:4个数据选择排序需要通过几遍加工?n个数据呢?3

5、遍,n-1遍,与冒泡排序相同问题三:请用语言来描述一下计算机实现选择排序的思路吗?第一遍加工:找到4个数据中(即待排序区域a(1)~a(4))的最小数1,与第一个位置的数据3发生位置交换第二遍加工:找到3个数据中(即待排序区域a(2)~a(4))的最小数3,与第二个位置的数据8发生位置交换第三遍加工:找到2个数据中(即待排序区域a(3)~a(4))的最小数7,与第三个位置的数据8发生位置交换问题四:在什么情况下不发生位置交换?在待排序区域中的第一个位置的数据就是要找的最小数,不用交换3、选择排序算法及程序初步实现(1)第一遍加工:变量a(1)a(2)a(3)a(4)初始3817第

6、一遍1837分析如下:²i=1(用变量i表示第一遍处理,也表示第一个数据元素)²在第1至第4个数组元素中找最小数据(最小数据的下标用变量k表达,首先默认最小数据a(k)为第一个数据,然后余下的3个数据分别跟a(k)比较,如果有比a(k)小的话,k重新赋值为最小数据的下标)²如果找到的最小数据下标k不是1(i)的话,那么与第一个数据元素发生交换(如果k<>i(i=1),则a(k)与a(i)交换)²结果(第一个位置中的数据值最小,a(2)~a(4)为无序区域)根据分析过程,写出第一遍加工代码:i=1k=1forj=2to4ifa(j)ith

7、entemp=a(k):a(k)=a(i):a(i)=tempEndif(2)第二遍加工:分析如下:²i=2(用变量i表示第二遍处理,也表示第二个数据元素)²在第2至第4个数组元素中找最小数据(首先默认最小数据a(k)为第二个数据a(2),然后余下的2个数据分别跟a(k)比较,如果有比a(k)小的话,k重新赋值为最小数据的下标)²找到的最小数据下标k如果不是2(i)的话,那么与第二个数据元素发生交换(如果k<>i(i=2),则a(k)与a(i)交换)²结果(第二个位置中的数据值次

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。