Scratch学习课件-10-排序.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Scratch学习课件-10-排序.ppt》由用户(Q弹啤酒肚)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Scratch 学习 课件 10 排序
- 资源描述:
-
1、10 排序排序 程序设计基础 2 home back first prev next last 本节目标本节目标 排序排序 外排序外排序 内排序内排序 插入排序插入排序 冒泡排序冒泡排序 快速排序快速排序 3 home back first prev next last 排序排序 2-1 排序排序(Sorting) 是计算机程序设计中的一种重是计算机程序设计中的一种重 要操作,它的功能是将一个数据元素(或记要操作,它的功能是将一个数据元素(或记 录)的任意序列,重新排列成一个关键字有录)的任意序列,重新排列成一个关键字有 序的序列。序的序列。 例如,例如, 8 3 2 1 7 4 6 5 1
2、2 3 4 5 6 7 8 4 home back first prev next last 排序排序 2-2 内排序,指的是待排序记录存放在计算机内内排序,指的是待排序记录存放在计算机内 存中进行的排序过程,内排序有多种算法,存中进行的排序过程,内排序有多种算法, 不同的算法,所用的时间和内存空间也不同不同的算法,所用的时间和内存空间也不同 外排序,指的是待排序记录的数量很大,以外排序,指的是待排序记录的数量很大,以 致内存一次不能容纳全部记录,在排序过程致内存一次不能容纳全部记录,在排序过程 中尚需对外存如硬盘进行访问的排序过程中尚需对外存如硬盘进行访问的排序过程 5 home back
3、first prev next last 插入排序插入排序 2-1 插入排序是这样实现的:插入排序是这样实现的: 1、新建一个空列表,用于保存已排序的有序数、新建一个空列表,用于保存已排序的有序数 列(我们称之为“有序列表”)。列(我们称之为“有序列表”)。 2、从原数列中取出一个数,将其插入“有序列、从原数列中取出一个数,将其插入“有序列 表”中,使其仍旧保持有序状态表”中,使其仍旧保持有序状态 3、重复、重复2号步骤,直至原数列为空。号步骤,直至原数列为空。 插入排序的,效率不高,但是容易实现。它借插入排序的,效率不高,但是容易实现。它借 助了助了“逐步扩大成果逐步扩大成果“的思想,使有序
4、列表的长的思想,使有序列表的长 度逐渐增加,直至其长度等于原列表的长度。度逐渐增加,直至其长度等于原列表的长度。 6 home back first prev next last 插入排序插入排序 2-2 编程,通过插入排序,完成编程,通过插入排序,完成 49 38 65 97 76 13 27 的升序排列的升序排列 7 home back first prev next last 冒泡排序冒泡排序 2-1 冒泡排序属于交换排序冒泡排序属于交换排序 1、将所有待排序的数字放入工作列表中。、将所有待排序的数字放入工作列表中。 2、从列表的第一个数字到倒数第二个数字,逐、从列表的第一个数字到倒数第
5、二个数字,逐 个检查:若某一位上的数字大于他的下一位,个检查:若某一位上的数字大于他的下一位, 则将它与它的下一位交换。则将它与它的下一位交换。 3、重复、重复2号步骤,直至再也不能交换。号步骤,直至再也不能交换。 冒泡排序的平均时间复杂度与插入排序相同,冒泡排序的平均时间复杂度与插入排序相同, 也是非常容易实现的算法也是非常容易实现的算法 8 home back first prev next last 冒泡排序冒泡排序 2-2 9 home back first prev next last 快速排序快速排序 8-1 快速排序(快速排序(Quick sort)是对冒泡排序的一)是对冒泡排序
6、的一 种改进。它的基本思想是:种改进。它的基本思想是: 通过一趟排序将要排序的数据分割成独立的两通过一趟排序将要排序的数据分割成独立的两 部分,其中一部分的所有数据都比另外一部分部分,其中一部分的所有数据都比另外一部分 的所有数据都要小,然后再按此方法对这两部的所有数据都要小,然后再按此方法对这两部 分数据分别进行快速排序,以此达到整个数据分数据分别进行快速排序,以此达到整个数据 变成有序序列变成有序序列 10 home back first prev next last 快速排序快速排序 8-2 设要排序的数组是设要排序的数组是A1AN, 首先任意选取一个数据(通常选用第一个数据)首先任意选
7、取一个数据(通常选用第一个数据) 作为关键数据,作为关键数据, 然后将所有比它小的数都放到它前面,所有比然后将所有比它小的数都放到它前面,所有比 它大的数都放到它后面,它大的数都放到它后面, 这个过程称为一趟快速排序。这个过程称为一趟快速排序。 值得注意的是,快速排序不是一种稳定的排序值得注意的是,快速排序不是一种稳定的排序 算法,也就是说,多个相同的值的相对位置也算法,也就是说,多个相同的值的相对位置也 许会在算法结束时产生变动许会在算法结束时产生变动 11 home back first prev next last 快速排序快速排序 8-3 一趟快速排序的算法是:一趟快速排序的算法是:
展开阅读全文