1.3.3《算法案例-排序的算法》.pptVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.3.3《算法案例-排序的算法》1.3.3《算法案例-排序的算法》

1.3.3《算法案例-排序的算法》 (第三课时) 教学目标 (a)知识与技能 1. 掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用。 (b)过程与方法 能根据排序法中的直接插入排序法与冒泡排序法的步骤,了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用。 (c)情态与价值 通过对排序法的学习,领会数学计算与计算机计算的区别,充分认识信息技术对数学的促进。 (2)教学重难点 重点:两种排序法的排序步骤及计算机程序设计 难点:排序法的计算机程序设计 (3)学法与教学用具 学法:模仿排序法中数字排序的步骤,理解计算机计算的一般步骤,领会数学计算在计算机上实施的要求。 教学用具:电脑,计算器,图形计算器 排序及基本概念 1.什么是排序? 排序是数据处理中经常使用的一种重要运算,他是一种很基本的算法,很多题目的关键问题就决定于排序。特别是在今天的信息学奥赛中,在空间允许的前提下,提高时间效率,是程序能否通过大数据量的测试的关键,而能否熟练的对数据排序,至关重要。 一般情况下,排序问题的输入是n个数a1,a2,…,an,在实际程序设计中,待排序的对象往往不是单一的数,而是一个记录,其中有一个关键字域key,他才是排序的根据。设有n个记录{R1,R2,……,Rn}组成的序列,n个记录对应的关键字集合为{K1,K2,……,Kn}。所谓排序就是将这n个记录按关键字大小递增或递减重新排列。 对于排序算法来说,无论待排序的对象是单个的数值,还是记录,他们的排序方法都是一样的。 2.稳定性 当待排序的数值或记录的关键字均不相同时,排序结果是惟一的,否则排序结果不唯一。如果序列中关键字相同的多个记录经过某种排序方法进行排序之后,仍能保持它们在排序之前的相对次序,则称这种排序方法是稳定的;否则,称这种排序方法是不稳定的。 例如:有一组记录的关键字为(23,85,72,58,23,40),其中关键字同为23的记录有两个(为了区分,后一个23带有下划线), 如果一种排序算法使排序后的结果是(23,23,40,58,72,85),则此方法是稳定的; 如果另一种排序算法使排序后的结果是(23,23,40,58,72,85),则此方法是不稳定的。 3.排序的方式 由于数据大小不同使排序过程中涉及的存储器不同,可将排序分成内部排序和外部排序两类。整个排序过程都在内存进行的排序,称为内部排序;反之,若排序过程中要进行数据的内、外存交换,则称之为外部排序。 内部排序适用于记录个数不是很多的小文件,而外部排序则适用于记录个数太多,不能一次性放人内存的大文件。 内部排序是排序的基础,本讲主要介绍各种内部排序的方法。 冒泡排序 插入排序 简单的排序算法,若数据量较大,则效率很低 选择排序 快速排序 冒泡排序之改进 堆排序 归并排序 * * 湖南省耒阳市振兴学校 高中数学老师欧阳文丰制作 第一步:将序列中的第一个元素作为排序后的有序序列中的第一个元素. 第二步:将序列中的下一个元素与有序序列中的最后一个元素进行比较,如果该元素小于最后一个元素,则在该序列中查找该元素应该插入的位置,然后将其插入到正确的位置;如果大于该有序序列中的最后一个元素,则直接将其作为有序序列的最后一个元素. 第三步:反复执行第二步,直到将列中剩余元素全部插入到有序子序列中为止. 排序的算法 将下面数字按由小到大的顺序排列 8,3,2,5,9,6 方法1: S1:比较第2个数与第1个数的大小,并排序得3,8 S2:将第3个数与S1中的数比较,插入适当的位置,得到 2,3,8 S3:将第4个数与S2中的数比较,并插入适当的位置,如此继续下去,直到把最后一个数插入到上一步已排好的数列的合适位置为止,得到: 2 ,3, 5, 8 2 ,3, 5, 8 ,9 2 ,3, 5, 6 , 8 , 9 S4: S5: 排序的算法 将下面数字按由小到大的顺序排列 8,3,2,5,9,6 方法1: 过程演示 8 3 2 5 9 6 开始 排第1次 排第2次 排第3次 排第4次 8 3 2 5 9 6 3 8 2 5 9 6 2 3 8 5 9 6 2 3 5 8 9 6 2 3 5 8 9 6 排第5次 2 3 5 6 8 9 排序的算法 将下面数字按由小到大的顺序排列 8,3,2,5,9,6 方法2: S1:用第1个数与第2个数比较,若前者小则两数不变,否则,交换这两个数的位置。 S2:按这样的原则,比较第2个数和第3个数,前者小则两数不变,否则

文档评论(0)

yyanrlund + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档