题目内容 (请给出正确答案)
设子数组a[0:k-1]和a[k:n-1]已排好序(0≤k≤n-1).试设计一个合并这两个子数组为排好序的数组a[0:n-1]的算法.要求算法在最坏情况下所用的计算时间为O(n),且只用到O(1)的辅助空间.
[主观题]

设子数组a[0:k-1]和a[k:n-1]已排好序(0≤k≤n-1).试设计一个合并这两个子数组为排好序的数组a[0:n-1]的算法.要求算法在最坏情况下所用的计算时间为O(n),且只用到O(1)的辅助空间.

提问人:网友18***590 发布时间:2022-01-07
参考答案
查看官方参考答案
如搜索结果不匹配,请 联系老师 获取答案
更多“设子数组a[0:k-1]和a[k:n-1]已排好序(0≤k≤…”相关的问题
第1题
完善下列程序,实现用冒泡法对数组a进行从小到大排序。 #include <stdio.h> void fun(int a[],int n) { int i,j,t; for (j=0; j<n-1;j++) for (i="0;" if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } } int main() { int i,a[10]={3,7,5,1,2,8,6,4,10,9}; _____; for(i=0;i<10;i++) printf("%3d",a[i]); return 0;>
点击查看答案
第2题

下列程序的功能是:将一个正整数序列{K1, K2,…, K9}重新排列成一个新的序列。在新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsValue()实现以上功能,最后调用函数writeDat(),将新序列输出到文件out.dat中。说明:程序中已给出了10个序列,每个序列中有9个正整数,并存入数组a[10][9] 中,分别求出这10个新序列。例如:序列{6, 8, 9, 1, 2, 5, 4, 7, 3}重排后为{3, 4, 5, 2, 1, 6, 8, 9, 7}。部分源程序已给出。请勿改动主函数main() 和写函数writeDat() 的内容。#includevoid jsValue(int a[10][9]){ } void main(){ int a[10][9]={{6,8,9,1,2,5,4,7,3} {3,5,8,9,1,2,6,4,7} {8,2,1,9,3,5,4,6,7} {3,5,1,2,9,8,6,7,4} {4,7,8,9,1,2,5,3,6} {4,7,3,5,1,2,6,8,9} {9,1,3,5,8,6,2,4,7} {2,6,1,9,8,3,5,7,4} {5,3,7,9,1,8,2,6,4} {7,1,3,2,5,8,9,4,6} }; int i,j; jsValue(a); for(i=0;i<10;i++){ for(j=0;j<9;j++) { printf("%d",a[i][j]); if(j<=7) printf(","); } printf("\n");}writeDat(a);}void writeDat(int a[10][9]){ FILE *fp; int i,j; fp=fopen("out.dat","w"); for(i=0;i<10;i++){ for(j=0;j<9;j++){ fprintf(fp,"%d",a[i][j]); if(j<=7) fprintf(fp,","); } fprintf(fp,"\n");} fclose(fp);}

点击查看答案
第3题
以下程序对输入的两个整数,按从大到小顺序输出。请在______填入正确内容。 main() { int x,y,z; scanf("%d,%d",&x,&y); if(_________) { z=x; _____; ______; } printf("%d,%d",x,y); }

A、第5行:x <y 第8行:x="y;" 第9行:y="z;&lt;br/"> B、第5行:x>y 第8行:x=y; 第9行:y=z;

C、第5行:x <y 第8行: y="z;" 第9行:x="y;&lt;br/"> D、第5行:x>y 第8行: y=z; 第9行:x=y;

点击查看答案
第4题
将字符数组a下标值为偶数的元素由小到大排序,其他元素不变。代码如下,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include<stdio.h> int main() { char a[]="labchmfye",t; int i,j; for(i=0;i<7;i+=2) for(j="i+2;j&lt;9;___________)" if(___________) {t="a[i];a[i]=a[j];a[j]=t;}" puts(a); printf("\n"); return 0;> A、第7行j+=2 第8行a[i]>a[j]

B、第7行j++ 第8行a[i]>=a[j]

C、第7行j++ 第8行a[i]>a[j]

D、第7行j=j+1 第8行a[i]>=a[j]

点击查看答案
第5题
随机线性搜索算法是在执行线性搜索算法之前先对输入进行随机重排,描述如下:

Random Linear Search(A,x)  //数组A[1..n],待查找对象x

1.Random Permute Array(A)

2.Linear Search(A,x)

假设A中有k(1≤k≤n)个元素等于x,试分析算法在调用Linear Search(A,x)时,执行循环的次数的期望值.

点击查看答案
第6题
int a=2,b=1,m=0,n=-1,k; k=(n=b>a)||(m=a>b); printf("%d,%d\n",k,m);

A、1,1

B、0,1

C、1,0

D、0,1

点击查看答案
第7题
一个因果的线性移不变系统的系统函数为H(z)=(z-1+az-1);其中a为实数。(1)问能使系统稳定的a值的范围?(2)若0<a<1,画出零极点图,并注明收敛域。(3)证明这个系统是全通函数,即其频率响应的幅度为常数(这里,此常数为1)。

点击查看答案
第8题
设a[0:n-1]是有n个元素的数组,k(0≤k≤n-1)是一个非负整数.试设计一个算法将子数组a[0:k-1]与a[k:n-1]换位.要求:算法在最坏情况下耗时O(n),且只用到O(1)的辅助空间.

点击查看答案
第9题
关于霍夫曼编码,下列叙述不正确的是( )。
A.霍夫曼编码结果不唯一

B.霍夫曼编码不具有检错和纠错能力

C.霍夫曼编码结果不唯一,所以其最佳码长也不唯一

D.霍夫曼编码是可变长度编码

点击查看答案
账号:
你好,尊敬的用户
复制账号
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

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

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

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