题目内容 (请给出正确答案)
[主观题]

确定n个不同数的数组S和正整数i,[图],求S中最大的i个...

确定n个不同数的数组S和正整数i,确定n个不同数的数组S和正整数i,[图],求S中最大的i个...确定n个不同数的数组S和正整数i,,,求S中最大的i个数,并且按照从小到大的次序输出。有下述算法: 算法A:调用i次找最大算法Findmax每次从S中删除一个最大的数。 算法B:对S排序,并输出S中最大的i个数。 (1)分析A,B两个算法在最坏情况下的时间复杂度。 (2)试设计一个最坏情况下时间复杂度的阶更低的算法,要求给出伪码。

暂无答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“确定n个不同数的数组S和正整数i,[图],求S中最大的i个.…”相关的问题

第1题

给定n个不同数的数组S和正整数i,[图],求S中最大的i个...

给定n个不同数的数组S和正整数i,,求S中最大的i个数,并且按照从大到小的次序输出,现有如下算法, 算法:调用i次找最大算法Findmax,每次从S中删除一个最大的数。该算法在最坏情况下的时间复杂度是:

A、

B、

C、

D、

E、

点击查看答案

第2题

给定n个不同数的数组S和正整数i,[图],求S中最大的i个...

给定n个不同数的数组S和正整数i,,求S中最大的i个数,并且按照从大到小的次序输出,现有如下算法, 算法:对S排序,并输出S中最大的i个数。该算法在最坏情况下的时间复杂度是:

A、n

B、nlogn

C、logn

D、loglogn

E、

点击查看答案

第3题

[说明1]

函数void convelt(chal *a,int n)是用递归方法将一个正整数n按逆序存放到一个字符数组a中,例如,n=123,在a中的存放为'3'、'2'、'1'。

[C函数1]

void convert(char *a,int n)

{ int i;

if((i=n/10)!=0; convert( (1) ,i);

*a= (2) ;

}

[说明2]

函数int index(char *s,char *t)检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则返回-1。

[C函数2]

int index(char *s,char *t)

{ int i,j=0;k=0;

for(i=0;s[i]!:'\0';i++)

( for( (3) ;(t[k]!='\0')&&(s[j]!='\0')&&( (4) );j++,k++);

if( (5) ) return(i);

}

return(-1);

}

点击查看答案

第4题

阅读以下说明和流程图,回答问题将解答填入对应栏内。

[说明]

已知递推数列:a(1)=1,a (2s)= a (s),a(2s+1)=a (s)+a (s+1)(s 为正整数)。试求该数列的第n项与前n项中哪些项最大?最大值为多少?

算法分析:该数列序号分为奇数或偶数两种情况做不同递推,所得数列呈大小有规律的摆动。设置a数组,赋初值a (1)=1。根据递推式,在循环中分项序号s (2~n)为奇数或偶数作不同递推:每得一项 a (s),即与最大值max 作比较,如果a (s)>max,则max=a(i)。最后,在所有项中搜索最大项(因最大项可能多于一项),并打印最大值max。

[问题]

将流程图中的(1)~(5)处补充完整。

注:流程图中(1)循环开始的说明按照“循环变量名:循环初值,循环终值,增量”格式描述。

[流程图]

点击查看答案

第5题

阅读以下说明和流程图,填补流程图中的空缺,将解答填入答题纸的对应栏内。 【说明】 设有整数数组A[1:N](N>1),其元素有正有负。下面的流程图在该数组中寻找连续排列的若干个元素,使其和达到最大值,并输出其起始下标K、元素个数L以及最大的和值M。 例如,若数组元素依次为3,-6,2,4,-2,3,-1,则输出K=3,L=4,M=7。该流程图中考察了A[1:N]中所有从下标i到下标j(j≥i)的各元素之和S,并动态地记录其最大值M。

【流程图】注:循环开始框内应给出循环控制变量的初值和终值,默认递增值为1,格式为:循环控制变量=初值,终值

点击查看答案

第6题

以下程序调用随机函数得到N个20以内的整数放在s数组中。函数fun的功能是找出s数组中的最大数(不止一个)所在下标传回主函数进行输出,并把最大值作为函数值返回,请填空。 define N 30 man() { int s[N],d[N],i,k,m; for(i=0,i<N;i++){s[i]=rand()%20;printf("%3d",s[i]);} m=fun(【 】); printf("m=%d\n",m); printf(”The index ;\n"); for(i=0;i<k;i++)printf("%4d",d[i]); printf("\n\n"); } fun(int*w,int*d,int * k) { int i,j,m=0,v; for(i=0;i<N;i++) if(w[i]>w[m])【 】; v=w[m]; for(i=0,j=0;i<N;i++) if(w[i]==v)【 】; *k=【 】; return【 】; }

点击查看答案

第7题

问题描述:给定实直线L上n个开区间组成的集合I和一个正整数k,试设计一个算法,从开区间集合I中选取出开区间集合,使得在实直线L的任何一点x,S中包含点x的开区间个数不超过k,且达到最大.这样的集合S被称为开区间集合I的最长k可重区间集.称为最长k可重区间集的长度.

算法设计:对于给定的开区间集合I和正整数k,计算开区间集合I的最长k可重区间集的长度.

数据输入:由文件input.txt提供输入数据.文件的第1行有2个正整数n和k,分别表示开区间的个数和开区间的可重叠数.接下来的n行,每行有2个整数,表示开区间的左、右端点坐标.

结果输出:将计算的最长k可重区间集的长度输出到文件output.txt.

点击查看答案

第8题

问题描述:给定平面XOY上n个开线段组成的集合I和一个正整数k,试设计一个算法,从开线段集合I中选取出开线段集合,使得在X轴上的任何一点p,S中与直线x=p相交的开线段个数不超过k,且达到最大.这样的集合S称为开线段集合的最长k可重线段集,称为最长k可重线段集的长度.

对于任何开线段z,设其端点坐标为(x0,y0)和(x1,y1),则开线段z的长度定义为

算法设计:对于给定的开线段集合I和正整数k.计算开线段集合I的最长k可重线段集的长度.

数据输入:由文件input.txt提供输入数据.文件的第1行有2个正整数n和k,分别表示开线段的个数和开线段的可重叠数.接下来的n行,每行有4个整数,表示开线段的2个端点坐标.

结果输出:将计算的最长k可重线段集的长度输出到文件output.txt.

点击查看答案

第9题

下列函数的功能是。floatfun(floata[],intn){intifloatsfor(i=0,s=0ireturn(s/n)}A.求数组a的
下列函数的功能是。

floatfun(floata[],intn)

{

intifloats

for(i=0,s=0i

return(s/n)

}

A.求数组a的最大值

B.求数组a的最小值

C.求数组a的总值

D.求数组a的平均值

点击查看答案

第10题

试题二

下面程序中函数fun的功能是:在含有10 个元素的s数组中查找最大数,及最大数所在位置(即,下标值),最大数可能不止一个。最大数作为函数值返回,最大数的个数通过指针变量n传回,所在位置由数组pos传回。

例如:

若输入 2 8 5 7 8 4 5 3 2 8

则应输出:

The max: 8

Total: 3 //最大数出现次数

The positions: 1 4 9

请补充下列空缺:

include<stdio.h>

include<conio.h>

define M 10

int fun(int *a, int *n, int pos[])

{int i, k,max=-32767;

(1)

for(i=0; i<M; i++)

if( (2) ) max=a[i];

for(i=0; i<M; i++)

if( (3) )pos[k++]=i;

*n=k;

return max;

}

main()

{int a[M], pos[M], i=0, j, n;

clrscr();

printf("Enter 10 number :");

for(i=0; i<M; i++)scanf("%d", (4));

j=fun( (5) );

printf("The max: %d\n", j);

printf("Total: %d",n);

printf("The position:");

for(i=0; i<n; i++ ) printf("%4d", pos[i]);

printf("\n");

}

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信