- 1、本文档共84页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
课时3数据排序;1.通过具体实例,理解排序的概念和基本方法。2.能根据实际的应用场景,选择合理的数据结构,并使用排序算法来编程解决问题。;;;1.排序;2.常见的排序算法;3.利用Python的sort方法和内建函数sorted排序;(2)sorted函数
说明:使用sorted函数进行排序时,将排好序的数据返回一个____________。
例:lista=[36,23,12,17,22,19,28],执行语句listb=sorted(lista)后,列表listb中的元素为[12,17,19,22,23,28,36,],从而实现升序排序;执行语句listc=sorted(lista,resverse=True)后,列表listc中的元素为[36,28,23,22,19,17,12],从而实现降序排序。;4.冒泡排序;5.冒泡排序算法的程序实现;(1)冒泡排序进行时,数据的比较可以由前往后进行,即list1[j]与listl[j+1]比较;也可以由后往前进行,即list1[j]与list1[j-1]比较,此时应将循环条件“forjinrange(0,count-i):”修改为“forjinrange(count-1,i-1,-1):”。
(2)若要将数据按降序排列,只需将语句“iflist1[j]list1[j+1]:”修改为“iflist1[j]list1[j+1]:”即可。;;例1采用冒泡排序算法对数据序列“21,15,23,26,33,18,46,17”完成升序排序,理论上讲共需进行排序的遍数为()
A.3遍 B.4遍 C.7遍 D.8遍;;例2采用冒泡排序算法对8个数据“48,65,29,16,22,75,36,41”进行降序排序,则第3遍的排序结果是();;;例3列表s包含8个互不相等的元素,即s[0],s[1],s[2],……,s[7],有如下Python程序段:;;变式训练有如下Python程序段:;;例4小明编写程序实现数据排序功能,部分程序如下:;;变式训练有如下Python程序段:;;;;2.采用冒泡排序算法对数据序列“6,8,9,5,4,2,7,3”进行降序排序,约定从后往前进行数据比较及位置交换,则进行第2趟排序时的数据交换次数为()
A.0次 B.1次 C.2次 D.3次;3.有如下Python程序段:;;4.有如下Python程序段:;5.有如下Python程序段:;B;6.有如下Python程序段:;C;7.有如下Python程序:;8.有如下Python程序段:;C;9.有如下Python程序段:;A;;A.使用冒泡排序算法完成n个数据的排序,共需要进行n-1趟
B.冒泡排序是通过比较相邻两个元素的大小和位置交换来完成的
C.冒泡排序进行时,相邻元素的比较和交换只能从前往后进行
D.使用冒泡排序算法完成6个数据的排序,最坏情况下,数据交换次数为15次;2.采用冒泡排序算法完成数据序列“9,8,7,6,5,2,3,4”的升序排序,则数据交换的次数为()
A.18次 B.22次 C.25次 D.27次;3.有8个学生的体重(单位:公斤)依次为“50.5,60.8,65.6,80.8,48.5,52.1,61.3,70.2”,若采用冒泡排序算法对其进行升序排序,则第3遍的排序结果是();;4.对列表b中的n个元素进行降序排序,其排序算法的Python部分程序段如下:;A;5.有如下Python程序段:;D;6.有如下Python程序段:;C;7.如下Python程序段:;C;A.这轮排序,有可能没发生数据交换
B.这轮排序,有可能只发生了1次数据交换
C.排序结束后,数据是升序的
D.完成全部排序后,数据交换的次数和冒泡的方向无关;9.有如下Python程序段:;C;10.使用列表a和列表b分别存储学生的总分和考号,已知考号为b[i]的学生的总分为a[i],使用Python编程实现如下功能:将成绩数据“按总分降序排序、总分相同按学号升序排序”,代码如下。;C;11.某Python程序如下:;D;12.火车调度台是实现火车车厢整理的平台,当相邻2节车厢序号不符合整理要求时,可以对调2节车厢,实现序号顺序调整。相邻2个进行符合目标的交换,和我们学习的冒泡排序思想一致,所以这个调度过程可以用冒泡排序实现。为了提高效率,对冒泡排序做了优化,请完善下列代码:;②______________
forjinrange(k):
if(nums[j]nums[j+1]):
nums[j],nums[j+1]=nums[j+1],nums[j]
③____________
您可能关注的文档
- 高中信息技术浙教版(2019)选修1 第三章 课时3 栈 课件.pptx
- 高中信息技术浙教版(2019)选修1 第四章 课时1 树与二叉树 课件.pptx
- 高中信息技术浙教版(2019)选修1 第四章 课时2 二叉树的基本操作 课件.pptx
- 高中信息技术浙教版(2019)选修1 第四章 验收卷(三) 树 课件.pptx
- 高中信息技术浙教版(2019)选修1 第五章 课时1 数据结构与算法关系 课件.pptx
- 高中信息技术浙教版(2019)选修1 第五章 课时2 迭代与递归 课件.pptx
- 高中信息技术浙教版(2019)选修1 第五章 课时5 二分查找 课件.pptx
- 高中信息技术浙教版(2019)选修1 第一章 课时2 数据的组织 课件.pptx
- 高中信息技术浙教版(2019)选修1 验收卷(四) 数据结构与算法 课件.pptx
- 高中信息技术浙教版(2019)选修1 验收卷(五) 综合练习(A) 课件.pptx
文档评论(0)