5.3排序算法的程序实现.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法系列 冒泡排序算法 * 仔细欣赏动画 五个孩子由低到高排队 * 说一说 动画中的5个孩子在完成由低到高排队的过程中,共进行了 遍,比较了 次 4 4+3+2+1=10 想一想 * 为了综合整治环境污染问题,提高废物的利用率,垃圾分类成为了当前我们可以为社会做的小贡献之一。为了给大家树立一个榜样,市教育局准备评选出做得最好的学校。假设四位评委给某学校打分为23,38,30,15,请利用冒泡排序法对这四个数据进行排序。 思想分析 * 数组元素 d(1) d(2) d(3) d(4) 值 23 38 30 15 用数组d存储这四个数据, 数组元素 d(1) d(2) d(3) d(4) 值 15 23 30 38 经过排序,使得分数由小到 大存储在d(1)到d(4)中,请描述采用冒泡排序思想进行升序排 序的过程。 完成学案上的思想分析的第(2)题 第一遍排序 * 23 38 30 15 23 38 15 30 23 15 38 30 23 38 15 30 比较 交换 比较 交换 23 15 38 30 比较 15 23 38 30 交换 第一遍加工共比较 次,处理完成后,最小的元素15存储在了d(1)中。 3 把数组d看成一个垂直的数列 第二遍排序 * 15 23 38 30 15 23 30 38 15 23 30 38 15 23 30 38 比较 交换 比较 无交换 第二遍加工共比较 次,处理完成后,第2个最小的元素23存储在了d(2)中。 2 第三遍排序 * 15 23 38 30 15 23 30 38 比较 交换 第三遍加工共比较 次,处理完成后,第3个小的元素30存储在了d(3)中。 1 小结:请填在学案上 * 4个元素共需进行 遍加工处理,总的比较次数为 次。 对n个元素的数组,用冒泡法进行排序时,共需 遍加工,比较_________次。 n(n-1)/2 n-1 3+2+1=6 3 例题:写出详细解题过程 * 采用冒泡排序法对一组数据进行排序,若完成第一遍排序时的结果是35,88,110,48,64,则完成第二遍排序时的结果是( ) A 35,88,110,48,64 B 35,48,88,64,110 C 35,48,88,110,64 D 35,48,64,88,110 解析 * 1、升序还是降序? 2、剩下哪几个数据 需要排序? 第一遍排序 35 88 110 48 64 第二遍排序 64 110 88 48 35 学案第2题 * 练一练 根据冒泡排序思想设计代码 * * 流程图:以升序为例 选择结构 循环结构 * 23 38 30 15 变数字为程序 d(j) j j-1 if d(j) d(j - 1) Then End if k = d(j): d(j) = d(j - 1): d(j - 1) = k 这句话决定了什么? * 想一想 这个循环怎么构造 第一遍排序 * 23 38 30 15 j j-1 23 38 15 30 23 15 38 30 j j-1 j j-1 For j = To Step if d(j) d(j - 1) Then k = d(j): d(j) = d(j - 1): d(j - 1) = k End if Next j 4 2 -1 15 23 38 30 第二遍排序 * 15 23 38 30 j j-1 15 23 30 38 15 23 30 38 j j-1 For j = To Step if d(j) d(j - 1) Then k = d(j): d(j) = d(j - 1): d(j - 1) = k End if Next j 4 3 -1 第三遍排序 * 15 23 30 38 j j-1 For j = To Step -1 if d(j) d(j - 1) Then k = d(j):

文档评论(0)

dzzn118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档