下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Phtyon编程【明明同学的随机数】明明想在学校中邀请一些同学一做一项问卷调查,为了表达实 验的客观性,他先是用计算机生成了 N个1到1000之间的随机整数 (NW1000),对于其中重复的数字,只保存一个,把其余相同的数 去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到 大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去 重”与“排序”的工作。【输入描述】输入多行,先输入随机整数的个数,再输入相应 个数的整数。【输出描述】返回多行,处理后的结果。输入数据样例输出数据样例1110204032674020893004001510152032406789300400.讨论怎样完成
2、数据的读入和输出?相同的数字怎样处理?经过讨论,同学们认为选用哪种排序方法比拟合适?这个问题的数据范围较小(1000以内),随机数字的个数也不 多(NW1000),可以采用冒泡排序的方法进行由小到大的排序,但 对于重复的数字,在输出时进行去重处理比拟麻烦,再就是冒泡排 序采用双重循环的方式进行,最大循环次数(时间复杂度)大约是 1000*1000次,比拟浪费时间。如果我们采用桶排序的方法,设置1000个桶来负责存储对应的 数字并做好标记,在输出时按由小到大的顺序有标记的桶编号就可 以简单地实现排序与查重工作,循环次数最多1000次,大大节省了 时间。m=1010#设置小桶个数时,比最大数值稍多
3、一些,防止数据溢出n=int(input (请输入排序自然数的个数)s=0#定义列表for i in range(l, m+1):s.append(0)for i in range(ln+1):x=int(input (输入学号”)sx=sx+lprint(排序结果如下:)for i in range(l0:print(i)Phtyon编程【顺序比拟的选择排序】选择排序和冒泡排序很类似,但是选择排序每轮比拟只会有一 次交换,而冒泡排序会有屡次交换,交换次数比冒泡排序少,所以 在数据量小的时候可以用选择排序。通过本节的学习,你将掌握以下技能:了解选择排序的基本概念。理解选择排序算法过程的执行过程
4、。学会用选择排序进行数据的排序。1.工作原理选择排序的工作原理是每一次从待排序的数据元素中选出最小 (或最大)的一个元素,存放在序列的起始位置。然后重复上述操 作,找出第二小(大)的元素和第二个位置的元素互换,以此类推 找出剩余最小(大)元素将它换到前面,即完成排序。优点:选择排序与数据移动有关。如果某个元素位于正确的最 终位置上,那么它不会被移动。选择排序每次交换一对元素,它们当 中至少有一个将被移到其最终位置上,因为对n个元素的表进行排 序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的 排序方法中,选择排序属于非常好的一种。2.执行过程以对12、23、9、24、15、3、18从
5、小到大排序为例,选择排序 的过程如下图。根据下列图,推演选择排序的全部过程。笫一超排序 :, k = 0mm = 2笫一超排序 :, k = 0mm = 2第二趟排序第三趟排序第四趟排序讨论如何进行下一轮比拟呢?通过观察分析,我们发现收下规律:.设第一个元素为比拟元素(其索引位置为k),依次和后面 的元素比拟,比拟完所有元素找到最小的元素(其索引位置用min 表示),将它和第一个元素互换。.重复上述操作,我们找出第二小的元素和第二个位置的元素 互换,以此类推找出剩余最小元素将它换到前面,即完成排序。.编写选择排序程序进行实验以对12、23、9、24、15、3、18从小到大排序为例,进行选择 排序。#首先定义一个列表s = 12, 23, 9, 24, 15, 3, 18#默认从。下标开始for i in range(len(s) - 1):#将每次的起始元素设为最小k = i#从列表第i+1个元素开始for j in range(i + 1), len(s):#如果当前元素比最小元素小,那么把当前元素索引
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖南郴州市宜章县方盈工程项目管理有限公司招聘1人笔试参考题库及答案解析
- 2026河南濮阳市龙都高级中学教师招聘16人笔试备考试题及答案解析
- 2026年六安金寨县事业单位公开招聘工作人员105名考试备考试题及答案解析
- 2026广东第二师范学院基础教育集团选聘1人笔试参考题库及答案解析
- 2026黑龙江黑河学院招聘博士67人考试参考题库及答案解析
- 2026江苏南京大学化学学院助理招聘笔试模拟试题及答案解析
- 2026海南海口市纪委监委所属事业单位招聘4人(第一号)笔试备考题库及答案解析
- 2026上半年贵州事业单位联考贵州省总工会所属事业单位招聘20人笔试参考题库及答案解析
- 2026兴海达(福建漳州)船舶服务有限公司招聘6人笔试备考题库及答案解析
- 2026吉林事业单位联考省直招聘166人(1号)笔试备考题库及答案解析
- 2026年中考英语复习专题课件:谓语动词的时态和被动语态
- 粮食行业竞争对手分析报告
- 儿科MDT临床技能情景模拟培训体系
- 【高三上】2026届12月八省联考(T8联考)语文试题含答案
- (人教版)必修第一册高一物理上学期期末复习训练 专题02 连接体、传送带、板块问题(原卷版)
- 护理不良事件根本原因分析
- 社会心理学考试题及答案
- 门窗工程挂靠协议书
- 医疗器械经营企业质量管理体系文件(2025版)(全套)
- 出铁厂铁沟浇注施工方案
- 2025年中小学教师正高级职称评聘答辩试题(附答案)
评论
0/150
提交评论