电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

选择排序 (3)VIP免费

选择排序 (3)_第1页
1/30
选择排序 (3)_第2页
2/30
选择排序 (3)_第3页
3/30
选择排序算法设计主讲:灵溪二高李泽满冒泡排序冒泡算法是通过两两比较,不断交换,逐个推进的方式,来进行排序的。一次遍历,得到一个最值。冒泡排序用数组来存储一系列同类型的数据,然后调整数组中的元素例如:dimd(1to4)asinteger‘定义一个数组变量d27363218d(1)d(2)d(3)d(4)jj-127361832jj-127183632jj-118273632第1次冒泡排序时j从4开始到2P31第2次冒泡排序时j从4开始到318273632d(1)d(2)d(3)d(4)jj-118273236jj-118273236第3次冒泡排序时j从4开始到418273236d(1)d(2)d(3)d(4)jj-118273236a(1)a(2)a(3)a(4)a(5)a(6)按从低到高的顺序重新排队擂主方法1:用打擂法擂主擂主方法1:用打擂法(比完)擂主晋中市高中信息技术网络选修课排序前奏:求最大值问题描述:对于给定的任意一组变量值,求出最大值。选择排序选择排序(递增)的方法是找出数组元素中最小(大)的数据,使它与第一个元素中的数据交换位置在余下的元素中继续找最小(大)的元素,与第二个元素中的数据交换位置……………………选择排序算法的思路问题:下面是8位同学的“体质健康综合评价”分数,请编写程序把它们由小到大排成顺序:86.5,77.5,87,68.9,89.6,77.2,79.7,71.1。(1)分析问题第一次选择、对调后的排列:68.9,77.5,87,86.5,89.6,77.2,79.7,71.1第二次选择、对调后的排列:68.9,71.1,87,86.5,89.6,77.2,79.7,77.5不断重复这个过程,可以实现对数据进行排序的目的。因为排序的过程是不断在剩余的数据中选择最小的,所以把这种方法称为选择排序法。选择排序算法的思路(2)设计算法选择排序算法的思路:首先在全部数据中找出最小的,然后在余下的数据中继续找出最小的,不断重复这个过程,直到只剩下一个数据时为止。N个数据的选择排序法示意图如下:在N个数据中选择最小的,把它与第1个位置的数据对调在剩下的N-1个数据中选择最小的,把它与第2个位置的数据对调在剩下的N-2个数据中选择最小的,把它与第3个位置的数据对调……在剩下的2个数据中选择最小的,把它与第N-1个位置的数据对调上面的示意图可以描述为用一个循环结构来完成:让I从1到N-1循环,在第I到第N数据中选择最小的,把它与排在第I位置的数据对调。选择排序过程第1遍选择27363218d(1)d(2)d(3)d(4)j=2Min=127363218j=3Min=127363218j=4Min=j18363227Min=1Forj=2to4ifd(min)>d(j)thenmin=jNextjIfmin不等于1时,交换d(1)和d(min)第2遍选择18363227d(1)d(2)d(3)d(4)j=3Min=218363227j=3Min=j18363227j=4Min=jj=418363227Min=j18273236Min=2Forj=3to4ifd(min)>d(j)thenmin=jNextjIfmin<>2then交换d(2)和d(min)第3遍选择18273236d(1)d(2)d(3)d(4)j=4Min=3Min=3Forj=4to4ifd(min)>d(j)thenmin=jNextjIfmin<>3then交换d(3)和d(min)分析第1遍选择,j从2开始到4Min=1Forj=2to4ifd(min)>d(j)thenmin=jNextjIfmin<>1,交换d(1)和d(min)Min=2Forj=3to4ifd(min)>d(j)thenmin=jNextjIfmin<>2then交换d(2)和d(min)第2遍选择,j从3开始到4第3遍选择,j从4开始到4Min=3Forj=4to4ifd(min)>d(j)thenmin=jNextjIfmin<>3then交换d(3)和d(min)用i来表示次数的变化程序实现Fori=1Ton-1'选择第i个最小的数Min=iForj=i+1Ton'如果找到更小的,用min记住它的编号Ifd(Min)>d(j)ThenMin=jNextjIfMin<>iThen'如果最小的数所在的位置不是i,则交换temp=d(i):d(i)=d(Min):d(Min)=tempEndIfNexti数组元素的个数冒泡、选择排序算法比较异同点哪个算法更高效?小提示:排序算法最费时的是什么?一是两两比较二是两两交换,交换要比比较费时多了。考点狙击:有可能考什么,怎么考1、程序实现中几个变量的作用2、第i趟排序的结果(通常数组元素5-8个,i<=4,经常结合实际背景)3、对整个排序过程的理解(包括比较次数、遍历次数、程序填空等)4、对排序思想的理解(辨别排序是选择还是,冒泡)5、结合流程图或实际背景补充程序或程序改错知识拓展目前已有上百种排序算法,如插入排序、快排、堆排序、归并排序、希尔排序等等。其中插入排序、冒泡排序、选择排序被称为简单排序,其他很多算法可以说是几种算法的优化方案...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

选择排序 (3)

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部