资源简介 (共30张PPT)鱼吐泡泡粤教版选择性必修一——冒泡排序回顾:认识排序排序是把一个任意序列的数据元素排列成按照某关键字的一个有序序列的过程游戏:探究人如何实现排序四位同学,随意排好顺序,从第一位同学开始往后排序,每位同学只能和后面一位同学交换位置,最终按学号从小到大的顺序排列。如何一步步实现排序什么时候结束排序游戏:探究人如何实现排序相邻比较逆序交换VS冒泡排序多轮排序数列有序核心步骤鱼吐泡泡冒泡排序过程就像鱼在水里冒泡的过程,小泡泡在下面,大泡泡在上面2591353291鱼吐泡泡冒泡排序是交换排序算法。依次进行大小比较来交换相邻两个逆序数据元素,冒泡排序中每一轮会确定一个数据的位置,逐步将待排序列变成有序序列。任务一:人工进行学号的冒泡排序在学习单上尝试人工解决排序问题,得到答案时间:3分钟35268排序过程初始 6 3 8 5 2第1遍第2遍第3遍第4遍3 5 2 6 83 2 5 6 83 6 5 2 82 3 5 6 8相邻元素比较、逆序交换多轮排序从第一个元素到最后一个元素冒泡排序基本思想初始 6 3 8 5 2第1遍第2遍第3遍第4遍1.假设有n个待排序元素,从第一个元素开始,相邻两个元素进行大小比较,根据结果交换位置,第一轮排序结束后最大的元素会移动到末尾。2.按照上述方法进行第二轮排序,第二大的元素会移动到倒数第二个位置。3. 经过n-1轮排序后,整个序列就是一个有序序列3 6 5 2 83 5 2 6 83 2 5 6 82 3 5 6 8冒泡排序如果待排序的数据量达到上万、上百万,甚至更大,如何快速地利用冒泡排序来解决问题人工排序电脑排序冒泡排序算法+计算机冒泡排序算法分析相邻元素比较、逆序交换从第一个元素到最后一个元素多轮排序分支结构循环结构循环结构算法:循环列举第一个元素到最后一个元素:循环进行下列步骤:直到所有元素有序排列,程序结束如果相邻两个元素满足大小条件:交换相邻两个逆序元素的位置流程图开始r[0]>r[1]r[0]和r[1]交换位置YNj=j+1j=0r[3]>r[4]r[3]和r[4]交换位置YN·····开始j=0jr[j]和r[j+1]交换位置Yj=j+1Yr[j]>r[j+1]N结束N结束流程图开始r[j]>r[j+1]i=0r[j]和r[j+1]交换位置YNj=j+1jj=0Yi=1·····开始结束r[j]>r[j+1]i=0r[j]和r[j+1]交换位置YNj=j+1ijj=0YYi=i+1NNN流程图开始结束r[j]>r[j+1]i=0r[j]和r[j+1]交换位置YNj=j+1ijj=0YYi=i+1NN多轮排序每一轮排序相邻比较、逆序交换任务二:学号冒泡排序的代码实现与优化基础任务:打开学号冒泡排序程序框架,完善核心部分选做的进阶任务:自学拓展资料,完善学号冒泡排序优化代码的核心部分时间:6分钟任务二:学号冒泡排序的代码实现与优化基础任务代码进阶任务代码冒泡排序解决问题的一般步骤分析问题设计算法确定排序对象确定交换条件排序结束条件循环与分支结构程序实现运行程序编写代码得到有序序列任务二结合学习单上的问题二,完成基础任务,选做进阶任务小组讨论任务二:考试分数排序的代码实现与优化基础任务:打开学号冒泡排序程序框架,完成考试分数排序的代码实现选做的进阶任务:自学拓展资料,完善考试分数冒泡排序优化代码的核心部分时间:6分钟程序对比冒泡排序算法优化一轮排序后没有发生交换则结束程序上一轮最后发生交换的位置之前不再发生交换则结束程序冒泡排序进一步优化冒泡排序优化任务三:考试分数排名的代码优化要求:结合刚才的分析,完成程序再优化时间:3分钟任务三:考试分数排名的代码优化冒泡排序算法优化小结冒泡排序优化方法一:一轮排序后没有发生交换则结束冒泡排序优化方法二:上一轮发生交换的位置之前不再发生交换则结束交流与评价现在整理自己之前编写的程序放到共享区域,在共享区域查看他人编写的冒泡排序程序并相互交流讨论,学习他人作品的优点。填写学习单上的自评与互评,进行反思总结。课堂总结相邻元素两两比较、逆序交换、多轮排序每轮排序过程中,值小的元素向前移动,值大的元素向后移动冒泡排序算法:双层循环与分支的嵌套冒泡算法的课后作业完成学习单上的课后作业课堂效果调查https://www./vm/Y0nv3aQ.aspx#谢 谢 展开更多...... 收起↑ 资源预览