冒泡排序逐字稿

(一)新课导入

同学们,请大家将目光投向大屏幕,这里有10位参赛选手的得分,如何按照得分高则名次靠前的原则,快速将10位选手的最终得分按照从高到低排序呢?哪位同学说一下?我看到大家都踊跃地举起了手,那大家一起说吧。这边的同学说利用Excel表中的升序或者降序。这边的同学说手动两两排序。这两种方法确实都可以实现,但是想要通过编写程序来得到排序结果,又该怎么操作呢?今天老师和同学们一起来探索《冒泡排序》,寻找答案。

(二)新课讲授

老师制作了一个动画,展示26、35、37、10从小到大的排序过程。同学们先来观看,并仔细观察,看看有什么发现。【板书标题】

好,哪位同学来说。第一排这位女同学,你第一个举手,你来回答。这位同学说,四个数据经过了三遍比较,第一遍比较3次,第二遍比较2次,第三遍比较1次,最终得到了10、26、35、37的顺序。描述的很清晰,又是第一个举手站起来回答问题的同学,来,大家为她的优秀表现和勇气故障。请坐。

其实,这一种排序就称为冒泡排序。这种排序是在一系列数据中把较小的数据逐次向上推移。每一遍加工都是将最小的元素像泡泡一样上浮至本遍的最前面位置,因此冒泡是一个很贴切的形容。

冒泡排序的过程大家明白了吗?那如果n个数进行排序,需要比较多少轮呢,每一轮要多少次呢?请同学们以信息技术小组为单位,讨论这两个问题。如果讨论过程中有问题,可以举手示意老师,老师会去查看。好,给大家5分钟的时间,现在开始。

好,时间到了,老师看同学们讨论的声音也小了,相信大家都准备好了。哪个小组来分享自己的交流成果呢。第一个小组代表,请。

他说,第一轮要比较(n-1)次,第二轮对剩下的n-1个数进行比较,需要比较n-2次。。。以此类推,第n-1轮要比较1次。

很好,请坐。第3小组你们想要补充,请说

对n个数据排序,要比较n-1轮。来,请坐。

两位同学回答的都很正确,看来刚才的讨论很有意义。

既然大家思路都这么清晰,那请大家继续讨论,画出冒泡排序的流程图。给大家5分钟的时间,现在开始。

好,老师巡视的过程中发现同学们画的都很清晰,老师现在投屏这一组的流程图,大家来看看。

我们看到,i记录正在执行的遍数,j记录每一遍处理过程中,当前数组元素的下标,d表示数组。

他将1赋给初始变量i,判断i是否等于n,如果是,输出已排序的数组d,如果不是,

将n赋给j,判断j是否小于等于i,如果是,i+1,重复上面操作。

如果不是,

现在给大家5分钟的时间自主动手编写程序。

时间到,哪位同学演示一下。

随机选了四个数,得到了从小到大的排序结果,这位同学设计的算法完全正确。

(三)巩固提升

(四)小结作业

补充:算法复杂性是指计算机运行该算法所需要的计算机资源的量。需要的时间资源的量称为时间复杂度。需要的空间资源的量称为空间复杂度。

猜你喜欢

转载自blog.csdn.net/weixin_72634509/article/details/128601333