




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
排序问题与算法的多样性,.,1,杜川2019-6-3,北师大版高中数学必修3第二章算法初步,排序问题和插入排序,排序的定义,折半插入排序,2,你会从这些书籍中查阅你想要的东西吗?,为了便于查询,常常需要根据要求将被查寻的对象按照一定的顺序排列,通常称为排序。,3,新来的同学小黄身高175cm,在班上是中等身高,因为做操的需要,体育老师要将他插到队中,你认为老师应该怎样做?,teacher,小黄,象这样在已经按一定顺序排好的系列(有序列)中插入一个数据,我们就叫它有序列插入排序。,4,有序列直接插入排序法有序列直接插入排序:用有序列直接插入排序算法完成无序列排序问题,其基本思想非常简单,即反复使用有序列直接插入排序算法,使有序列的长度不断增加,一直到完成整个无序列的有序排列为止,5,一般地,对于一个有序列:a1a2a3an,欲将新数据A插入到有序列中,形成新的有序列,其做法是:将数据A与原有序列中的数据从右到左依次进行比较,直到发现某一数据ai,使得aiA,把A插入到ai的右边;如果数据A小于原有序列中的所有数据,则将A插入到原序列的最左边上面的排序算法通常称为有序列直接插入排序的算法,6,有序列插入排序,我们在一个已经排好顺序的一系列数中插入一个数据,成为一个新的系列,且仍按原来的规则排序。,要将8插入到1,3,5,7,9,11,13中,我们怎样考虑?,确定8在原系列中的位置,使8小于或等于原系列中右边的数据,大于或等于左边的数据,将这个位置空出来,将数据8插进去,8,7,例题分析,例1已知有一组系列13,27,38,39,43,47,48,51,57,66,74,现要将数据52插入到数据中。,(1)请设计算法,确定52在新数据中的位置。,(2)在确定52的序列号后,请将52插入系列中,(3)请用流程图描述这个插入过程的算法,8,方法1.手工插入:,确定52的序号:9;,把原序列中911号的数据依次向右挪一位,空出9号位置来,并插入52,得到一个新序列。,方法2.即从右边最后一位开始,与52比较,若比52大就右挪,否则插入52.,9,有序列插入排序算法的另一种方法,折半插入排序法请同学们参看P84.下段,10,问题思考:对于一组无序的数据列49,38,65,97,76,13,27,49如何完成排序工作呢?,请同学们参看P85,11,折半插入排序,如果R1.i-1是一个按关键字有序的有序序列,则可以利用折半查找实现“在R1.i-1中查找Ri的插入位置”,如此实现的插入排序为折半插入排序。,12,折半插入排序性能分析,1)折半插入排序所需附加存储空间和直接插入排序相同,从时间上来看,折半插入排序减少了关键字的比较次数,但是移动次数不变。2)折半插入排序的时间复杂度为o(n2)。3)折半插入排序是一个稳定的排序方法。,13,折半插入排序,待排序元素的插入位置,012345678910,58,14,36,49,52,80,58,61,23,97,75,L.r,14,例2中国乒乓球女队原有11名队员,她们的身高由小到大分别为158,159,160,162,163,165,166,170,171,172,175(单位:cm)现为备战某项比赛,加入一名优秀队员,这名队员身高167cm.请设计用折半插入排序法找出该队员在序列中的位置,并用自然语言描述算法,15,解析:由题目可获取以下主要信息:11名队员的身高;加入一名身高167cm的队员;用折半插入排序法找出新加入队员在序列中的位置解答本题可先确定数据个数11.找到“中间位置”的数据a6165,与167进行比较,然后把剩下数据“中间位置”的数据依次与167比较,直到得到167的位置,16,解:要将167插入有序列:158,159,160,162,163,165,166,170,171,172,175,共有11个数据列表为:首先选择有序列的“中间位置”的数据a6165,将167与a6比较,显然167165,所以167应排在a6的右边,17,再取余下数据列a7,a8,a9,a10,a11的“中间位置”的数据a9171,显然167166,所以167应在a7、的右边又16747,故52不能插入到47的左边的任何位置所以,应该排在47的右边,再将余下数据的中间位置的数据57与52比较,显然5257,因此应插到57的左边,又5152,则52插入到51的右边,57的左边,即可得到52的位置,20,小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年洛阳古墓博物馆人才引进招录专业技术人员2名模拟试卷及答案详解(名校卷)
- 班组安全标准化培训报道课件
- 2025年河南省职工医院招聘护理人员60人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025河南新乡市开发公益性岗位招聘25人模拟试卷及答案详解(夺冠系列)
- 班组安全建设培训的收获课件
- 2025广东肇庆市怀集县卫生健康局赴高校招聘卫生专业技术人员74人模拟试卷附答案详解(典型题)
- 药品冷链成本优化-洞察与解读
- 2025江西南昌市自然资源和规划局高新分局招聘辅助工作人员1人考前自测高频考点模拟试题及答案详解(全优)
- 2025湖南开放大学高层次人才公开招聘25人模拟试卷带答案详解
- 2025广东云浮市“粤聚英才粤见未来”招聘教育人才8人(云浮市邓发纪念中学)模拟试卷有答案详解
- 2025年6月新《中华人民共和国治安管理处罚法》全文+修订宣贯解读课件(原创内容丰富且全)
- 2024年陕西延长石油招聘真题
- DB31/T 1377.4-2022实验鸡和鸭第4部分:设施及环境
- 2025邮储银行面试题目及答案
- 他人借车免责协议书
- 城中村改造项目规划设计(仅供参考)
- 公司代经营合同范例
- 中医减肥合同协议书
- 2025年推土犁司机职业技能鉴定参考试题库(含答案)
- 2025年一级建造师之一建矿业工程实务题库附答案(典型题)
- 癌症疼痛诊疗规范解读2025
评论
0/150
提交评论