下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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贵州黔南州罗甸县面向社会选聘城市社区工作者8人笔试备考试题及答案解析
- 2026四川大学华西医院医保真实世界研究与评价中心项目制科研助理招聘1人笔试备考试题及答案解析
- 2026年海原县教师招聘笔试备考题库及答案解析
- 2026年信丰县教师招聘考试备考题库及答案解析
- 2026双鸭山市重新遴选市委市政府法律顾问考试备考题库及答案解析
- 2026年多伦县教师招聘考试模拟试题及答案解析
- 2026年地下综合管廊工程建筑行业投资前景报告及未来五至十年战略布局与增长路径
- 2026年闽清县教师招聘笔试参考题库及答案解析
- 2026年临猗县教师招聘考试备考试题及答案解析
- 2026福建福州市江南智慧城市建设运营有限公司社会招聘4人笔试参考题库及答案解析
- 人教PEP四年级英语上册阅读理解专项30篇(含答案)
- 2026年秋季开学中秋诗词赏析课件
- 2026临汾市侯马市招聘乡(街道)消防协管员考试备考试题及答案详解
- 2026秋学期人教版小学数学六年级上册(新教材)教学计划附进度表
- 2026年秋季学期小学四年级上册英语(人教版PEP新教材)教学计划
- 自来水生产工岗前专项能力考核试卷含答案
- 2026教科版六年级科学上册第一单元《健康生活》全部教案
- 2026年山东青岛市中考历史试题(附答案)
- 江西省人才发展集团有限公司2026年春季集中招聘专题【11人】建设笔试备考题库及答案解析
- 2026年重庆市九龙坡区辅警人员招聘考试试卷及答案
- 2026年高考上海卷英语含解析及答案(新课标卷)
评论
0/150
提交评论