下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度专业体育用品采购协议样本
- 2024年产品质量委托检验协议
- 2024住宅小区门禁施工协议样本
- 建筑工程中的高空作业与安全管理考核试卷
- 《江西民间风土谚语研究》
- 《水平对置式撞击流反应器流场涡特性的大涡模拟》
- 《环境规制对经济增长质量的影响研究》
- 《水稻突变体库创制及OsARP基因功能的初步研究》
- 2024至2030年中国四门立柜数据监测研究报告
- 安装工程服务协议2024详例
- 黏膜给药制剂-精品医学课件
- (完整版)物理化学上教案
- 软土地基处理预应力管桩施工要点
- 外国古代建筑史-古罗马
- 世界银行招标采购指南
- 720--消防自动喷水灭火系统(干式)讲解
- AQL抽样检验表(标准版本2(1).0)
- 安阳师范学院校级教学团队推荐表
- 企业中层管理人员素质测评(附答案)
- 国民经济动员中心申报材料
- 社区卫生服务中心公共卫生绩效考核及奖金分配制度
评论
0/150
提交评论