首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
有一种简单的排序算法,叫做计数排序(count sorting)。这种排序算法对一个待排序的表(用数组表示)进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键字互不相同,计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表
有一种简单的排序算法,叫做计数排序(count sorting)。这种排序算法对一个待排序的表(用数组表示)进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键字互不相同,计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表
admin
2019-08-15
94
问题
有一种简单的排序算法,叫做计数排序(count sorting)。这种排序算法对一个待排序的表(用数组表示)进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键字互不相同,计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键字比该记录的关键字小。假设针对某一个记录,统计出的计数值为c,那么,这个记录在新的有序表中的合适的存放位置即为c。
设计实现计数排序的算法。对于有n个记录的表,关键字的比较次数是多少?与简单选择排序相比较,这种方法是否更好?为什么?
选项
答案
typedef struct{ int key ; datatype info }RecType; void countSort(RecType a[],b[],int n){ //计数排序算法,将a中记录排序放入b中 int i,j,cnt; for(i=0;i<n;i++){ //对每一个元素 for(j=0,ent=0;j<n;j++) if(a[j].key<a[i].key)cnt++; //统计关键字比它小的元素个数 B[cnt]=a[i]; } } 对于有n个记录的表,关键字比较n
2
次。 简单选择排序算法比本算法好。简单选择排序的比较次数是n(n一1)/2,且只用一个交换记录的空间;而这种方法的比较次数是n
2
,且需要另一数组空间。 提示:此题考查的知识点是计数排序思想。因题目要求“针对表中的每个记录,扫描待排序的表一趟”,所以比较次数是n
2
次。若限制“对任意两个记录之间应该只进行一次比较”,则可把以上算法中的比较语句改为: for(i=0;i<n;i++)a[i].count=0; //各元素再增加一个计数域,初始化为0 for(i=0;i<n;i++) for(j=i+1;j<n;j++) if(a[i].key<a[j].key)a[j].count++; else a[i].count++;
解析
转载请注明原文地址:https://kaotiyun.com/show/PKCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
赵匡胤了解高级将领发动兵变夺取政权的危险,他注意分散军权。回答问题:建隆二年,赵匡胤采取了()的措施,收夺武将的兵权
一战后,英国拒绝加入法国的安全保障体系,其原因是()。
哪一文化期奠定了苏美尔文明传统的三项成就,即塔庙式神庙建筑、圆柱形印章和文字的发明?()
下图是某模型机CPU的组成框图。设该CPU采用同步控制逻辑,分取指周期、取第一操作数周期,取第二操作数周期、执行周期四个机器周期,每个机器周期有T0、T1、T2三个节拍。试写出如下双操作数运算指令的微操作命令及节拍安排。ADDR0,(R1)完成功
已知散列函数为H(key)=key%11,处理冲突的方法为二次探测法,探测的序列为:1,-1,4,-4,…,j2,-j2(j<=m/2)。当di>0时,Hi=(H(key)+di)%m当di<0时,Hi=(H(key)+di+m)%m散列
一个由高速缓冲存储器Cache与主存储器组成的二级存储系统。已知主存容量为1MB,按字节编址,缓存容量为32KB,采用组相联方式进行地址映射与变换,主存与缓存的每一块为64B,缓存共分8组。(1)写出主存与缓存的地址格式(标明各字段名称与位数)
指令字长为12位,每个地址码为3位,采用扩展操作码的方式,设计4条三地址指令、16条二地址指令、64条一地址指令和16条零地址指令。(1)给出一种操作码的扩展方案。(2)计算该方案操作码的平均长度。
一台主机申请了一个到www.ab@C@edu.cn的连接,为了获取服务器的IP地址,首先要进行DNS查询,下图为本次查询的过程,请回答如下问题:(1)由个人主机发送给本地DNS服务器的数据是采用什么传输层协议发送的?利用了哪个端口?(2
某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如下图所示。图中所有控制信号为1时表示有效、为0时表示无效。例如控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示允许数据从内总线打入MDR。假设MAR的输出一直处于使能状
采用递归方式对顺序表进行快速排序。下列关于递归次数的叙述中,正确的是____。
随机试题
简述克服行政绩效制约因素的途径。
诗句“君不见黄河之水天上来,奔流到海不复回"出自诗作()
设,f(u)为可微函数,则()。
设事件A、B互不相容,且P(A)=p,P(B)=q,则等于()。[2012年真题]
如果合同预计总成本超过合同预计总收入,应将预计损失确认为当期的合同费用。()
企业编写校园招聘记录表需要获取应聘者的有关信息。内容包括()。
下列选项中,属于西方古典经济学内容的是()。
党的十七大通过的党章把“和谐”与“富强、民主、文明”一起作为社会主义现代化建设的目标写入了社会主义初级阶段的基本路线,其原因在于社会和谐是()。
以下程序中,while循环的循环次数是()。main(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;
在“学生体检表”中,有“身高”、“体重”、“性别”等项。若需要查找出身高在155以公分以上而体重在40公斤以下的女生,在下列选择查询的条件表达式中正确的是()。
最新回复
(
0
)