冒泡排序.ppt
- 文档编号:1411501
- 上传时间:2022-10-22
- 格式:PPT
- 页数:28
- 大小:855KB
冒泡排序.ppt
《冒泡排序.ppt》由会员分享,可在线阅读,更多相关《冒泡排序.ppt(28页珍藏版)》请在冰豆网上搜索。
第9章排序算法冒泡排序,情景:
观察水中的气泡往上冒的情景,有什么特点呢?
冒泡原理,冒泡排序和气泡在水中不断往上冒的情况有些类似。
气泡大的(大的数据)在下面,气泡小的(小的数据)在上面。
冒泡排序的基本原理对存放原始数据的数组,按从前往后的方向进行多次扫描,每次扫描称为一趟。
当发现相邻两个数据的次序与排序要求的大小次序不符合时,即将这两个数据进行互换。
这样,较小的数据就会逐个向前移动,好象气泡向上浮起一样。
例:
用冒泡排序的方法将下面一组无序数组排成从小到大的顺序。
49,38,65,97,76,13,27,49,分析:
首先为了方便分析,我们把所给的数据先用一个表格列出来,如下:
对比原数据经过第一趟排序,实现了什么目的?
第一趟排序,一共进行了多少次比较?
4938,交换位置,原数据和序号,第一趟排序的步骤:
经过第一趟排序,把最大的数沉到最底了!
4965,保持不变,6597,保持不变,9776,交换位置,9713,交换位置,9727,交换位置,9749,交换位置,经过第二趟排序,实现了什么目的?
经过第二趟排序,把第二大的数沉到倒数第二个位置了!
3849,保持不变,第一趟排序后的数据和序号,第二趟排序的步骤:
4965,保持不变,6576,保持不变,7613,交换位置,7627,交换位置,7649,交换位置,7697,保持不变,观察原数据与第一、二趟排序后的数据,问:
为了使这一组无序数组完全按照要求排成从小到大我们还需不需要再继续排序呢?
问:
那么我们预计最多一共要经过多少次排序呢?
初始,1趟,2趟,3趟,4趟,5趟,6趟,7趟,例题:
下面我们继续考虑,将我们刚才排序的全过程用算法流程图表示出来。
我们把它分成几步来做,第一步,先把第一趟的排序用流程图描述出来。
R1:
=R2,t:
=R1R1:
=R2R2:
=t,1.画出第一趟排序的算法流程图:
假设该数据列为R1,R2,R3,R4,R5,R6,R7,R8,第一步做什么?
如何交换数据,这样行吗?
t:
=R2R2:
=R3R3:
=t,不断的这样画下去要画多少个类似的选择结构?
有没有办法让流程图更加简洁呢?
这样交换数据,会有什么问题?
分析:
否,是,i:
=i+1,开始,i:
=1,RiRi+1,t:
=RiRi:
=Ri+1Ri+1:
=t,分析:
1.画出第一趟排序的算法流程图:
用简洁的循环结构进行表示,分析:
后面的排序只要按照这种方法不断进行就行了。
2、按照这种画法第二趟、第三趟、第四趟排序的流程图怎样画?
怎样把整个冒泡排序的流程图画出来?
那么同样的结构要进行多少次呢?
有没有办法让流程图更加简洁呢?
是,3、怎样把整个冒泡排序的流程图画出来?
否,分析:
这是一个两重循环结构,课堂思考:
在我们刚才的算法流程图中,每一趟的排序我们都进行了7次,是否每一趟的排序都需要进行7次比较呢?
观察原数据与第一、二趟排序后的数据,我们知道经过第一趟的排序之后,最大的一个数已经排到最后了这样在进行第二趟排序时有没有必要再对第7、8个数据再进行排序呢?
扩展:
12,34,32,29,64,78,34,45,冒泡排序也可以从后往前进行,过程演示如下:
小结:
本节课主要学习了冒泡排序的基本原理及其算法流程图。
其中数组和双循环是我们本节课使用较多的一种结构。
应用到本节知识的实例有很多,比如:
打印九九乘法口诀表、彩票数字选择器、工作表安排等等。
课后作业:
在刚才的冒泡排序中是否一定要进行7趟?
针对这个问题你有什么好的方法对我们的算法再进行优化?
下课了。
休息一会儿。
追,说课,一、说课题,课题名称:
冒泡排序,选用教材:
数据结构西安交通大学出版社,适用范围:
计算机及相关专业,课题位置:
第9章排序冒泡排序,二、说对课题的分析与处理,1、地位作用2、目标要求3、重点难点,排序的方法设计中包含的丰富的程序设计技巧,这对初学者提高软件设计能力帮助很大。
而且本知识点也是后续学习“查找”的一个基础。
(1)认知方面:
掌握冒泡排序的原理和流程图;
(2)技能方面:
掌握冒泡排序的优化方法;(3)情感方面:
培养学习乐趣和解决实际问题应用的能力。
(1)重点:
冒泡排序的原理;
(2)难点:
冒泡排序的优化方法。
三、教学对象分析,1、本课题教学对象2、学生特点,教育技术学专业本科大二学生,
(1)具备计算机的基础知识;
(2)具备基本的C程序的阅读能力;(3)但是较计算机专业的学生来说,动手和独立思考的能力教差。
四、说教学策略,1、教学方法2、学法指导,
(1)讲解法帮助学生理解较为抽象的课堂知识
(2)举例法通过举例,深入理解理论知识(3)讨论法针对课堂问题,讨论优化算法的策略(4)情景教学法,倡导“自主、合作、探究”的学习方式,具体的学法是讨论法。
五、说讲授程序,1、新课导入,结合之前学习的有关排序的概念、数组的概念以及循环算法的概念,并采用情景教学的方法,引入冒泡排序的基本原理。
这样导课比较形象、生动,调动学生学习的积极性。
2、内容讲解,
(1)冒泡的基本原理采用情景教学和实例教学相结合的方法,
(2)冒泡的流程图主要采用讲解法,(3)冒泡的算法优化问题主要采用课堂讨论和提问的方式,(4)冒泡的知识点扩展采用课堂演示的方法,(5)小结,在讲解的冒泡排序算法的基础上,思考进一步的优化算法。
加深学生对知识的掌握和理解。
3、作业布置,请各位老师指导,谢谢!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 冒泡 排序
![提示](https://static.bdocx.com/images/bang_tan.gif)