早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 采用归并排序

题目

阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 采用归并排序对n个元素进行递增排序时,首先将n个元素的数组分成各含n/2个元素的两个子数组,然后用归并排序对两个子数组进行递归排序,最后合并两个已经排好序的子数组得到排序结果。 下面的C代码是对上述归并算法的实现,其中的常量和变量说明如下: arr:待排序数组 p,q,r:一个子数组的位置从p到q,另一个子数组的位置从q+1到r begin,end:待排序数组的起止位置 left,right:临时存放待合并的两个子数组 n1,n2:两个子数组的长度 i,j,k:循环变量 mid:临时变量 【C代码】

inciude<stdio.h> inciude<stdlib.h> define MAX 65536 void merge(int arr[],int p,int q,int r) { int *left, *right; int n1,n2,i,j,k; n1=q-p+1; n2=r-q; if((left=(int*)malloc((n1+1)*sizeof(int)))=NULL) { perror("malloc error"); exit(1); } if((right=(int*)malloc((n2+1)*sizeof(int)))=NULL) { perror("malloc error"); exit(1); } for(i=0;i<n1;i++){ left[i]=arr[p+i]; } left[i]=MAX; for(i=0; i<n2; i++){ right[i]=arr[q+i+1] } right[i]=MAX; i=0; j=0; for(k=p; (1) ; k++) { if(left[i]> right[j]) { (2) ; j++; }else { arr[k]=left[i]; i++; } } } void mergeSort(int arr[],int begin,int end){ int mid; if( (3) ){ mid=(begin+end)/2; mergeSort(arr,begin,mid); (4) ; merge(arr,begin,mid,end); } }

【问题1】 根据以上说明和C代码,填充1-4。 【问题2】 根据题干说明和以上C代码,算法采用了(5)算法设计策略。 分析时间复杂度时,列出其递归式位(6),解出渐进时间复杂度为(7)(用O符号表示)。空间复杂度为(8)(用O符号表示)。 【问题3】 两个长度分别为n1和n2的已经排好序的子数组进行归并,根据上述C代码,则元素之间比较次数为(9)。

参考答案
正确答案:

【问题1】(8分)
(1)k<=r
(2)arr[k]=right[j]
(3)begin<end
(4)mergeSort(arr,mid+1,end)

【问题2】(5分)
(5)分治
(6)T(n)=2T(n/2)+O(n)
(7)O(nlogn)
(8)O(n)

【问题3】(2分)
(9)n1+n2


看了阅读下列说明和C代码,回答问题...的网友还看了以下:

在英语中表示在.下面的词语,是不是分两种,1、比方说一个人脚下踩了张纸,纸粘在鞋子上,这时说纸在鞋 英语 2020-05-14 …

(2013•宁夏)在“探究凸透镜成像规律”实验中,某同学用“F”型的黑色卡纸贴在强光手电筒前,代替 物理 2020-06-27 …

如图是北宋纸币铜版拓片,其上文字为:“除四川外,许下诸路州县公私从便……流转行使。”这一铜版()① 历史 2020-07-03 …

如图1所示,将包有白纸的圆柱棒总质量为m替代纸带和重物,蘸有颜料的毛笔固定在马达上并随之转动,使之 物理 2020-07-20 …

实验数据整理与分析:同学在模拟保护色的形成过程的活动中,得到了下表的数据,请你根据此表回答问题:第 语文 2020-07-25 …

英语翻译佛山剪纸,早在宋、元之间,已成为商品生产,至清代乾隆年间为鼎盛.佛山剪纸艺术,在制作上有剪、 英语 2020-11-12 …

下列对纸币的认识正确的是A.纸币在流通中替代货币执行流通手段的职能B.纸币是国家发行的,国家可随意决 其他 2020-12-02 …

阅读下列材料并回答:造纸术是中国古代的伟大发明之一。造纸术的发明和传播,是中华民族对人类文明的巨大贡 历史 2020-12-02 …

造纸术是中国古代的伟大发明之一,造纸术的发明传播,是中华民族对人类文明的巨大贡献.(1)我国用于书写 化学 2020-12-02 …

如图甲所示,用包有白纸的质量为1.00kg的圆柱棒替代纸带和重物,蘸有颜料的毛笔固定在电动机上并随之 物理 2020-12-26 …