网站大量收购独家精品文档,联系QQ:2885784924

冒泡排序系列课件新.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
for i=20 to 1 step -1 for j= 1 to 19 if 2 then t=a(j+1) 3 a(j+1)=t end if next j next i print“排序后:” For i= 1to 20 print a (i) next i End sub a(j) a(j-1) a(j)= a(j-1) 冒泡排序的基本原理: 对存放有n个原始数据的数组,按从后往前的方向依次进行两两比较,当发现相邻两个数据的次序与排序要求的大小次序不符合时,即将这两个数据进行互换。这样,较小的数据就会逐个向前移动,好象气泡向上浮起一样。数组元素之间两两比较完成我们称为冒泡一趟,直至n-1趟冒泡之后,数据呈现有序排列。 利用冒泡法,对下列这一组数据按升序进行排序 5、8、13、17、15 、23 问题1:在排序的过程中,排序了几趟,真正只需要冒泡几趟? 问题2:我们如何来提高冒泡排序的效率? 思考题: 谢谢! 这首歌的创作者就是李键,李键的名声大噪还真不靠这首歌,而是得益于一个综艺节目《我是歌手》。李健他不仅凭借着《我是歌手》这个节目吸引了大量粉丝,而且还有一个身份吸引了大量的女粉丝。他毕业于清华大学,人送昵称“清华哥哥”!这位清华哥哥在突围赛宣布名次时的表现! (播放视频) * 大家发现没有,导演洪涛宣布名次的方式是什么? (学生回应) 这个时候李健就适时提出来了“这是冒泡法,数学里的”,给观众一个心理暗示:不亏是清华毕业的啊。然后又有一大堆女粉丝为他疯狂!又一次用智商碾压了对手。那我们要想一想了李健说的冒泡法和我们算法里的冒泡法是否一样,我们一起来验证一下 * 这是这次突围赛男歌手的投票结果,现在同学们把他们的投票按照从小到大的顺序排列。 结果是: 那同学们是怎么排出来的?一眼看出来的?今年芒果台又举行了《超级女生》比赛,如果导演给你一千个参赛选手的成绩让你按照升序排列起来,你还能一眼看出来吗?这个时候我们就可以利用冒泡排序法快速有效的将数据排列起来,把较小的数据逐次向前推移! * 那么我们如何实现将较小数逐次从后往前推移呢?从最后一个元素起,依次比较相邻的两个 元素中的数据,将较小的数据调换到前面。这样进行两两比较之后就可以把较小数据往前推移 * 我们先来解决这个男明星投票排序问题 ,我们可以将他们的票数放在一个数组a中,那个就出现了六个数组元素a(1)a(2) a(3) a(4) a(5) a(6) * 同学们先来看一个小动画,看看冒泡排序是怎么来进行的(点击播放按钮,输入数字198、168、178、138、158、148) 第一趟冒泡:大家注意,我们是从那两个数据开始比较?最后两个!第一趟排序结束,把哪一个数据找出来了?把最小的数据138,赋值给了a(1)。总共比较了几次,这个过程中交换了几次?同学们和老师一起再把这一趟排序排一次。(说明第一趟排序过程)这一趟排序后数据有序了吗? 第二趟排序:我们再来看一下第二趟排序,第二趟排序依然是从a(6)a(5)开始比较,这一趟结束后结果是:把最较小的数据148,赋值给了a(2)。总共比较了几次?这个过程中交换了几次?数据有序了吗? 接下来请每一组同学用这种方法把数据排列起来,总共排序了几趟,每一趟排序结果如何? 好,大家都完成的差不多了,我们请**同学来回答一下,第三趟排序的结果是:把最较小的数据 ,赋值给了a(3)。总共比较了 次,这个过程中交换了次 这一位同学来回答一下,第四趟排序的结果是:把最较小的数据 ,赋值给了a(4)。总共比较了 次,这个过程中交换了次 最后一趟排序大家来回答一下,把最较小的数据 ,赋值给了a(5)。总共比较了 次,这个过程中交换了 次!数据有序了吗?排序结束 * 现在同学们已经解决了6个元素的排序问题,总共进行了5趟排序。请同学们讨论一下,如果又n个元素进行升序排序的话,需要进行几趟排序?每一趟排序从a(n)和a(n-1)开始比较 同学们再来分析一下,我们学的冒泡法和李健所说的冒泡法一样吗? * 请同学们讨论一下该如何来排序 * 同学们已经掌握了冒泡排序的原理,那么我们如何运用算法来实现冒泡排序!我们来回顾一下,算法又几种表示方法 第一种:自然语言 第二种:流程图 第三种:计算机语言 * 请每一组的同学根据刚刚我们之前的分析,讨论一下如何来用流程图和vb语言来实现冒泡排序,把这六位歌手的票数从小到大排列起来,并试试把老师课前发给每一组的练习二填写起来 我发现我们的同学非常聪明,很多同学都在用流程图。但是还是有一点小错误!那么我们如何用流程图和vb语言来解决呢?我们从最简单的入手 *

文档评论(0)

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

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

1亿VIP精品文档

相关文档