算法实例选择排序法讲述.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法实例选择排序法讲述

算法实例;1.选择排序算法的概念 选择排序算法是对冒泡排序算法的改进。这种方法是对参加排序数组的所有元素中找出最小(或最大)数据的元素,使它与第一个元素中数据相互交换位置。然后在余下的元素中找出最小(或最大)的数据的元素,与第二个元素中的数据交换位置。以此类推,直到所有元素成为一个有序的序列。 某数组d共有4个元素构成,每个元素的值如下表所示:;第2遍:寻找从d(2)到d(4)范围内的最小数据d(k),即k=3,将d(2)与d(k)互换数据:;显然,通过上述3遍处理,数组d中最小、第2小、第3小的数据已经分别存储在数组元素d(1)、d(2)、d(3)中,即数组元素d(1)到d(3)变为有序,而剩下的d(4)中的数据自然是数组中的最大数据。因此,通过3遍这样的处理,整个数组内的数据将是有序的。 4个元素共需进行3遍加工处理,总的比较次数为3+2+1=6次,而总计交换次数每一遍一次,??计只有3次。 对于n个元素的数组,用选择算法进行排序时,比较次数与冒泡算法相同,但交换的次数比冒泡排序要少,因此它具有较高的效率。;当外循环变量i取1时,为第1遍加工,k=1,先假设第1个数据元素为最小值,内循环从第2个数开始比较,如果a(2)小于a(1),则将a(2)的下标赋值给k,否则k值不变,这个方法目的是保证k是本遍加工最小数据元素的下标。这样,内循环一次完成之后,判断k是不是a(1)的下标1,如果不是,则把a(k)与a(1)的数据进行交换,否则就不进行交换。这样,第1遍加工后,就能把最小的数据存放在a(1)中。当外层循环变量i取2时,为第2遍加工,找出a(2)到a(n)之间的最小数,记录好它的下标k,把最小的数据放到a(2)中。这样,每遍加工,都能找出最小数的下标k,比较是不是i,如果不是,就将a(k)与a(i)交换。经过n-1遍之后,就能实现从小到大的排序。 选择排序的关键在于最小值变量k的值在不断的发生变化,而每一遍加工,最多只交换一次数据,所以排序的效率比冒泡排序要高。;;;;;上虞区小越中学信息技术组; 【例1】在2015年秋季学校运动会上,男生第一组6位选手的110米栏成绩(单位:秒)分别是“18.4、17.3、16.9、18.8、18.1、16.7”,若使用选择排序法将该组的成绩按第一名、第二名、第三名……的顺序排序,则第一次交换数据后的顺序是 (  ) A.18.8 18.4 17.3 16.9 18.1 16.7 B.16.7 17.3 16.9 18.8 18.1 18.4 C.18.8 17.3 16.9 18.4 18.1 16.7 D.16.7 18.4 17.3 16.9 18.8 18.1;上虞区小越中学信息技术组;上虞区小越中学信息技术组

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档