- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
专题11排序算法
学习目标
1.了解冒泡排序本质是相邻两个数进行比较和交换,让较大的数“下沉(上冒)”,较小的数“上冒(下沉)”的一种排序技术;
2.写出每趟排序的结果,掌握每趟的比较次数、每趟的排序区间和每趟排序实现的功能;
3.列出排序序列中的逆序对,掌握总共需要的交换次数;
4.外循环实现排序的趟数,内循环决定排序的方向和区间,比较条件决定排序的方式;
5.根据外循环变量i,画出待排序区间,在待排序区间的两端写出4个比较的位置,从而确定内循环的初始和结束位置.
冒泡排序的特征是相邻两个对象进行比较和交换,可以从前往后冒泡,实现后面数据先有序,也可以从后往前冒泡,实现前面数据先有序。当某趟排序过程中没有发生数据交换,表示整个序列数据有序,可以提前结束排序。冒泡排序可以用双重循环来实现,其算法复杂度为O(n2),外循环表示循环的趟数,内循环实现第i趟排序的方向和区间,比较语句实现了升降序的方式。
(2023年6月浙江省选考)列表s包含8个互不相等的元素,即s[0],s[1],s[2],……,s[7],有如下Python程序段:
n=8
foriinrange(1,n-1):
forjinrange(1,n-i-1):
ifs[j]s[j-1]:
s[j],s[j-1]=s[j-1],s[j]
该程序段实现的是()
A.s[0]到s[5]的降序排列 B.s[1]到s[6]的降序排列
C.s[1]到s[7]的升序排列 D.s[2]到s[6]的升序排列
重难点1冒泡排序的算法思想
从前往后冒泡,实现后面数据先有序,也可以从后往前冒泡,实现前面数据先有序。排序往往先找出一列数中的最值,将这个最值交换到该列数的末端,把数列划分为有序区间和无序区间,把这个操作称为一趟排序。再对无序区间进行重复操作,不断地扩大有序区间,缩小无序区间,当无序区间中只有一个数据时,全部数据有序,结束排序。排序基本算法思想是迭代执行一趟排序,直到数据全部有序。内循环的步长为正数,表示从前往后冒泡,负数表示从后往前冒泡,步长大于1,表示对局部数据进行排序。外循环次数决定排序的趟数,n个数据最多需要n-1趟排序,实现全部数据有序。内循环的初值和终值决定待排序(无序)区间的两个端点。
例1有如下Python程序段:
s=[2,3,8,7,5]
foriinrange(len(s)-1):
forjinrange(len(s)-1,i,-1):
ifs[j]s[j-1]:
eq\x(s[j],s[j-1]=s[j-1],s[j])
执行该程序段,加框处语句被执行的次数是()
A.3 B.6 C.8 D.10
变式1某Python程序如下:
s=[2,3,4,9,7,8,5]
n=len(s)
foriinrange(n-1):
forjinrange(n-1,i,-1):
ifs[j]s[j-1]:
s[j],s[j-1]=s[j-1],s[j]
下列说法正确的是()
A.整个加工过程总的交换次数为21
B.该程序段执行后,s的值为[9,8,7,5,4,3,2]
C.若s的初始值已有序,则该算法的时间复杂度为O(1)
D.每一遍加工中,最小的元素“上浮”
例2列表lst中共有n个整数,若下列程序段实现将数组元素lst[st]至lst[ed]升序排列,则划线处的代码为()
foriinrange(st,ed):
forjinrange(st,________):
iflst[j]lst[j+1]:
lst[j],lst[j+1]=lst[j+1],lst[j]
A.n-i B.ed-i
C.ed+st-i D.st+ed
变式2数组L长度为n,要实现数组元素L[a]至L[b]升序排列(0≤ab≤n-1),其余元素的位置不变,实现相应功能的程序段如下:
foriinrange(0,b-a):
forjinrange(eq\x(b-1,a-1,-1)):
ifL[j]L[j-1]:
L[j],L[j-1]=L[j-1],L[j]
加框处代码在测试程序时发现有误,可修改为()
A.range(a,b-1) B.range(b,a-i,-1)
C.range(b,a+i,-1) D.range(a-i+1,b)
重难点2冒泡排序的变式
外循环次数决定排序的趟数,从前往后冒泡,则后面部分数据有序,从后往前冒泡,则前面部分数据有序。利用这一特性,可以筛选达到要求的数
您可能关注的文档
- 专题13 简单算法程序实现 学案(含解析)2025届高中信息技术.DOCX
- 专题14 树 学案(含解析)2025届高中信息技术.DOCX
- 专题15 队 列 学案(含解析)2025届高中信息技术.DOCX
- 专题16 栈 学案(含解析)2025届高中信息技术.DOCX
- 专题18 基于数据结构的算法实现 学案(含解析)2025届高中信息技术.DOCX
- 专题八 系统分析 学案(含解析)2025届高中通用技术.DOCX
- 专题二 人机关系 学案(含解析)2025届高中通用技术.DOCX
- 专题九 控制分析 学案(含解析)2025届高中通用技术.DOCX
- 专题六 构件的受力形式分析 学案(含解析)2025届高中通用技术.DOCX
- 专题七 流程分析与设计 学案(含解析)2025届高中通用技术.DOCX
- 专题12 查找算法 学案(含解析)2025届高中信息技术.DOCX
- 6.2探索2互联网社会与新业态 教学设计 2024—2024学年苏科版(2023)初中信息技术七年级下册.docx
- 6.1互联网应用与新技术 教学设计 2024—2024学年苏科版(2023)初中信息技术七年级下册.docx
- 5.3互联网安全法律法规的作用及意义 教学设计 2024—2024学年苏科版(2023)初中信息技术七年级下册.docx
- 5.2个人信息资源的防护措施 教学设计 2024—2024学年苏科版(2023)初中信息技术七年级下册.docx
- 项目十 体验餐厅服务员工作教学设计2024—2025学年人教版初中劳动技术八年级上册.docx
- 项目七《修补自行车轮胎》教学设计 2024—2025学年人教版初中劳动技术八年级上册.docx
- 义务教育版(2024)三年级信息科技 第30课 在线安全防范 课件.pptx
- 义务教育版(2024)四年级信息科技 第24课 抽取文本词汇云 课件.pptx
最近下载
- 医疗机构内麻醉、精神药品使用与管理制度.docx VIP
- 重庆市房屋建筑与装饰工程计价定额2018-建筑工程.docx VIP
- 重庆市房屋建筑与装饰工程计价定额2018建筑工程.docx VIP
- 七年级语文第一次月考卷(全解全析)(苏州专用)-A4.docx VIP
- 周杰伦所有歌词(14张专辑-包括床边的故事)呕心沥血已经整理完毕可打印.doc VIP
- 中古时期郡望郡姓地理分布考论.docx VIP
- 机械工程材料完整全套教学课件.pptx
- 城市轨道交通运营管理毕业论文-关于铁路客运服务质量的调查与探讨.docx VIP
- 2025年高压电工证题库(附答案).docx
- 智慧工地整体解决方案(投标方案).docx
文档评论(0)