- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.3排序问题 教案 (北师大版选修2-3).doc
第四课时 2.3 排序问题
教学重点:
有序列插入排序方法和折半插入排序方法的原理与过程。
教学难点:
用算法语句描述排序方法。
教学目标:
1. 理解有序列插入排序方法和折半插入排序,并会设计算法
2.通过实例,发展用有序列插入排序方法和折半插入排序解决问题的能力。
教学过程:
为了便于查询,常常需要根据要求将被查寻的对象按照一定的顺序排列,通常称为排序。
例如:新来的同学小黄身高175cm,在班上是中等身高,因为做操的需要,体育老师要将他插到队中,你认为老师应该怎样做?象这样在已经按一定顺序排好的系列(有序列)中插入一个数据,我们就叫它有序列插入排序。
有序列直接插入排序法
有序列直接插入排序:用有序列直接插入排序算法完成无序列排序问题,其基本思想非常简单,即反复使用有序列直接插入排序算法,使有序列的长度不断增加,一直到完成整个无序列的有序排列为止.
一般地,对于一个有序列:a1≤a2≤a3≤…≤an,欲将新数据A插入到有序列中,形成新的有序列,其做法是:将数据A与原有序列中的数据从右到左依次进行比较,直到发现某一数据ai,使得ai≤A,把A插入到ai的右边;如果数据A小于原有序列中的所有数据,则将A插入到原序列的最左边.上面的排序算法通常称为有序列直接插入排序的算法.
我们在一个已经排好顺序的一系列数中插入一个数据,成为一个新的系列,且仍按原来的规则排序。
例如:要将8插入到{1,3,5,7,9,11,13}中,我们怎样考虑?
首先确定8在原系列中的位置,使8小于或等于原系列中右边的数据,大于或等于左边的数据,将这个位置空出来,将数据8插进去
1 3 5 7 8 9 11 13
例题分析:
例1已知有一组系列{13,27,38,39,43,47,48,51,57,66,74},现要将数据52插入到数据中。
数据序列号 1 2 3 4 5 6 7 8 9 10 11 原序列 13 27 38 39 43 47 48 51 57 66 74
(1)请设计算法,确定52在新数据中的位置。
(2)在确定52的序列号后,请将52插入系列中
(3)请用流程图描述这个插入过程的算法
方法1.手工插入:
①确定52的序号:9;
②把原序列中9~11号的数据依次向右挪一位,空出9号位置来,并插入52,得到一个新序列。
方法2.
即从右边最后一位开始,与52比较,若比52大就右挪,否则插入52.
有序列插入排序算法的另一种方法
折半插入排序法
问题思考:对于一组无序的数据列{49,38,65,97,76,13,27,49}如何完 成排序工作呢?
折半插入排序
如果R[1..i-1] 是一个按关键字有序的有序序列,则可以利用折半查找实现“在R[1..i-1]中查找R[i]的插入位置”,如此实现的插入排序为折半插入排序。
折半插入排序性能分析
1)折半插入排序所需附加存储空间和直接插入排序相同,从时间上来看,折半插入排序减少了关键字的比较次数,但是移动次数不变。
2)折半插入排序的时间复杂度为o(n2)。
3)折半插入排序是一个稳定的排序方法。
例2 中国乒乓球女队原有11名队员,她们的身高由小到大分别为158,159,160,162, 163,165,166,170, 171,172,175(单位:cm).现为备战某项比赛,加入一名优秀队员,这名队员身高167 cm.请设计用折半插入排序法找出该队员在序列中的位置,并用自然语言描述算法。
解析:由题目可获取以下主要信息:
①11名队员的身高;
②加入一名身高167 cm的队员;
③用折半插入排序法找出新加入队员在序列中的位置.
解答本题可先确定数据个数11.找到“中间位置”的数据a6=165,与167进行比较,然后把剩下数据“中间位置”的数据依次与167比较,直到得到167的位置。
解:要将167插入有序列:{158,159,160,162,163,165,166,170,171,172,175},共有11个数据。列表为:
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 158 159 160 162 163 165 166 170 171 172 175 首先选择有序列的“中间位置”的数据a6=165,将167与a6比较,显然167165,所以167应排在a6的右边。
再取余下数据列{a7,a8,a9,a10,a11}的“中间位置”的数据a9=171,显然167171,所以167在a9的左边,再取余下数据列{a7,a8}的“中间位置”的数据a7=166,显然167166,所以167应在a7、的右边.又167a8,所以167应插在a7与a8之间。
评析:用折半插入排序法向有序列中插入新数据时,首先确定原有序列中数据的个数是偶数2
您可能关注的文档
- 1.1 有机化合物的分类 学案(重难点研析+典型实例剖析+教材问题简答)(人教版选修5).doc
- 1.1.1-1.1.2 变化率问题、导数的概念 学案(人教A版选修2-2).doc
- 1.1.1变化率问题 1.1.2导数的概念 学案(人教A版选修2-2).doc
- 1.1.1变化率问题-1.1.2导数的概念 学案(人教A版选修2-2).doc
- 1.1环境与环境问题 每课一练(中图版选修6).doc
- 1.2 当代环境问题的产生及其特点(人教版选修6).doc
- 1.2 当代环境问题的产生及特点 课后检测(人教版选修6).doc
- 1.2 环境问题及其实质 每课一练1(鲁教版选修6).doc
- 1.2 环境问题及其实质 每课一练(鲁教版选修6).doc
- 1.2 环境问题及其实质 课后检测(鲁教版选修6).doc
- 2.3角度和物理问题第2课时教案(北师大版必修五).doc
- 2.4 最大值与最小值问题,优化的数学模型 同步测试 (北师大选修4-5).doc
- 2.4最大值与最小值问题,优化的数学模型 同步测试(人教B版选修4-5).doc
- 2.6-2.7 变压器的应用及远距离输电问题 每课一练(教科版选修3-2).doc
- 2007届高考二轮复习 圆锥曲线中的综合问题 学案(山东专用).doc
- 2012年全国各地高考作文题的特点及其问题.doc
- 2013-2014学年高中英语选修6:Unit 4 Global warming 辅导训练-考点点拨 考例回顾.doc
- 2013作文素材:关于“教育要培养什么样的人”的二十八个问题.doc
- 2013备考各地试题解析分类汇编 一 文科数学:选考内容.doc
- 2013备考各地试题解析分类汇编数学(文)专题:选考内容.doc
文档评论(0)