4.8小案例之冒泡排序法(课件)-《程序设计基础(python)》同步教学(人邮版)

2024-11-18
| 18页
| 474人阅读
| 118人下载
普通

内容正文:

小案例之冒泡排序法 Simple Easy Open Free Portable 1 什么是排序: 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 什么是排序算法: 就是如何使得记录按照要求排列的方法。 2 目录 contents 什么是冒泡排序 01 冒泡排序算法的原理☆ 02 举个简单小例子 03 如何用代码实现△ 04 3 PART 01 什么是冒泡排序 4 什么是冒泡排序: 这种排序算法的每一个元素都可以像小气泡一样,小(大)的元素经过不断的交换由水底慢慢的浮到水的顶端。 5 PART 02 冒泡排序算法的原理☆ 6 冒泡排序算法的原理: 1) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2) 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对,最后的一对交换完后,结尾的元素应该会是本组数据中最大的数。 3) 针对所有的元素重复以上的步骤,除了最后一个。 4) 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 7 PART 03 举个简单的小例子 8 举个简单的小例子: 有5个数组成一个无序数列:5,8,6,3,9希望从小到大排序。按照冒泡排序的思想,我们要把相邻的元素两两比较,根据大小来交换元素的位置,具体如何来移动呢? 5 8 6 3 9 9 第一轮比较:(比较4次) 5 8 6 3 9  5与8作比较:  8与6作比较: 5 8 6 3 9  8与3作比较: 5 6 8 3 9  8与9作比较: 5 6 3 8 9 10 第二轮比较:(比较3次)  5与6作比较:  6与3作比较:  6与8作比较: 5 3 6 8 9 5 6 3 8 9 5 6 3 8 9 11 第三轮比较:(比较2次)  5与3作比较:  5与6作比较: 5 3 6 8 9 3 5 6 8 9 12 第四轮比较:(比较1次)  3与5作比较: 3 5 6 8 9 3 5 6 8 9 排序结束,最终结果: 13 PART 04 如何用代码实现?△ 14 我们对数列2,8,36,9,10,18,15按照从小到大的顺序进行排序: nums = [2,8,36,9,10,18,15] for i in range(len(nums)-1): for j in range(len(nums) - i -1): if nums[j] > nums[j+1]: nums[j],nums[j+1] = nums[j+1],nums[j] print("从小到大排序后的结果是:"+str(nums)) 15 程序说明: 从程序中我们可以看到,代码非常简单,使用循环的嵌套来实现排序。外部for循环控制比较几轮,注意:从上面的例子中我们可以看到5个数字排序,比较了4轮,所以外部循环次数是range(len(nums)-1);内部for循环控制每一轮中两两比较的次数,因为每轮两两比较完后,最大的数已经在最后方排好了,不用再参加下一轮两两元素的比较,所以内部循环次数是range(len(nums) - i -1),同时,如果左边的元素值大于右边的元素,则交换顺序。 16 运行结果: 17 1.冒泡排序算法的原理☆ 2.如何用算法实现△ LOREM 本节小结 18 $$

资源预览图

4.8小案例之冒泡排序法(课件)-《程序设计基础(python)》同步教学(人邮版)
1
4.8小案例之冒泡排序法(课件)-《程序设计基础(python)》同步教学(人邮版)
2
4.8小案例之冒泡排序法(课件)-《程序设计基础(python)》同步教学(人邮版)
3
4.8小案例之冒泡排序法(课件)-《程序设计基础(python)》同步教学(人邮版)
4
4.8小案例之冒泡排序法(课件)-《程序设计基础(python)》同步教学(人邮版)
5
4.8小案例之冒泡排序法(课件)-《程序设计基础(python)》同步教学(人邮版)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。