重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 求职面试
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

下面一段代码的时间复杂度是? if (A > B ) { for (i=0; i<n; i++ ) for (j> i; j-- ) A += B; } else { for (i=0; i <n*2; i++ ) for (j> i; j-- ) A += B; } (1.0分)

A、O(n)

B、O(nA、O(n)B、O(n  )C、O(n  )D、O(log2n))

C、O(nA、O(n)B、O(n  )C、O(n  )D、O(log2n))

D、O(log2n)

暂无答案
更多“下面一段代码的时间复杂度是? if (A > B ) { for (i=0; i<n; i++ ) for (j> i; j-- ) A += B; } else { for (i=0; i <n*2…”相关的问题

第1题

下面一段代码的时间复杂度是?if ( A > B ) { for ( i=0; i<n; i++ ) for ( j> i; j-- ) A += B; } else { for ( i=0; i <n*2; i++ ) for ( j> i; j-- ) A += B; }

A、

B、

C、

D、

点击查看答案

第2题

下面一段代码的时间复杂度是()? if ( A > B ) { for ( i=0; i<n; i++ ) for ( j="N*N;">i; j-- ) A += B; } else { for ( i=0; i<n*2; i++ ) for ( j="N*2;">i; j-- ) A += B; }

A、O(n)

B、O(n)

C、O(n)

D、O(log2n)

点击查看答案

第3题

以下算法的时间复杂度为( )。 if (n >= 0) { for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) printf("输入数据大于等于零\n"); } else { for(int j = 0; j < n; j++) printf("输入数据小于零\n"); }

A、O(1)

B、O(n*n+n)

C、O(n)

D、O(n*n)

点击查看答案

第4题

下面的算法是判断n是否素数,其时间复杂度应为( )。 void prime(int n) { 判断n是否是素数 */ for (i=2; i <sqrt(n) && (n % i)!="0;" i++); if (i> sqrt(n)) printf("%d is a prime number", n); else printf("%d is not a prim

A、O(n)

B、O(1)

C、O(sqrt(n)) sqrt表示对n去根方

D、O(n-i)

点击查看答案

第5题

阅读下列说明和C代码,回答问题l至问题3.将解答写在答题纸的对应栏内。

【说明】

计算一个整数数组a的最长递增子序列长度的方法描述如下:

假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i<n)为结尾元素的最长

递增子序列的长度,则数组a的最长递增子序列的长度为器;其中b[i]满足最优子结构,可递归定义为:

【c代码】

下面是算法的c语言实现。

(1)常量和变量说明

a:长度为n的整数数组,待求其最长递增子序列

b:长度为n的数组,b[i]记录以a[i](0≤i<n)为结尾元素的最长递增子序列的长度,

其中0≤i<n

len:最长递增子序列的长度

i.j:循环变量

temp,临时变量

(2)C程序

include <stdio . h>

int maxL (int *b. int n) {

int i. temp =0;

For(i = 0; i < n; i++){

if (b[i] > temp )

Temp= b[i];

}

Return temp;

【问题l】(8分)

根据说明和C代码,填充C代码中的空(1)~(4)。

【问题2】(4分)

根据说明和C代码,算法采用了(5)设计策略,时间复杂度为(6)(用O符号表示)。

【问题3】(3分)

已知数组a={3,10,5,15,6,8},根据说明和C代码,给出数组b的元素值。

点击查看答案

第6题

●下面算法是实现对n个整数的序列进行选择排序,其中序列的"长度"n为问题的规模。该算法的时间复杂度为 (23) 。

void select_sort(int a[],int n)

{

//将a中整数序列重新排列成从小到大有序的整数序列

for(i=0;i<n-1;++i){

j=i;

for(k=i+1;k<n;++k)

if(a[k]<a[j])j=k;

if(j!=i){w=a[j];a[j]=a[i];a[i]=w;}

}//select- sort

(23) A.O(n3)

B.O(n2)

C.O(n)

D.O(n4)

点击查看答案

第7题

试分析下面各程序段的时间复杂度。 (1)x=90; y=100; while(y>0) if(x>100) {x=x-10;y--;} else x++; (2)s=0; for i=0; i <n; i++) for(j="0;" j++) s+="B[i][j];" sum="s;" (3)i="1;" i="i*3;" (4)x="n;" n> 1 y=0; w
点击查看答案

第8题

●试题四

阅读下列函数说明,将应填入(n)处的字句写在答卷纸的对应栏内。

【函数1说明】

函数compare(SqList A,SqList B)的功能是:设A=(al,…,am)和B=(bl,…,bn)均为顺序表,"比较",两个顺序表A和B的大小。设A'和B'分别为A和B中除去最大共同前缀后的子表(例如,A=(y,x,x,z,x,z),B=(y,x,x,z,y,x,x,z),则两者中最大的共同前缀为(y,x,x,z),在两表中除去最大共同前缀后的子表分别为A′=(x,z)和B′=(y,x,x,z))。若A′=B′=空表,则A=B;若A′=空表,而B′≠空表,或者两者均不为空表,且A′的首元小于B'的首元,则A<B:否则A>B。

提示:算法的基本思想为:若相等,则j+l,之后继续比较后继元素;否则即可得出比较结果。显然,j的初值应为0,循环的条件是j不超出其中任何一个表的范围。若在循环内不能得出比较结果,则循环结束时有3种可能出现的情况需要区分。

【函数1】

int compare(SqListA,SqList B)

{

//若A<B,则返回-1;若A=B,则返回0:若A>B,则返回1

j=0;

while(i< (1) &&j<

B.length)

if(A.elem[j]<

B.elem[j])return(-1);

else if(A.elem[j]>

B.elem[j])return (1) ;

else (2) ;

if(A.length==

B.length)return(0);

else if(A.length<

B.length)return(-1);

else return (1) ;

}//compare

//函数1的时间复杂度是 (3) 。

【函数2说明】

函数exchange_L(SLink&L,int m)的功能是:用尽可能少的辅助空间将单链表中前m个结点和后n个结点的互换。即将单链表(a1,a2…,am,b1,b2,…,bn)改变成(b1,b2,…,bn,a1,a2,…,am)。

【函数2】

void exchange_L(SLink &L,int m)

{

if( (4) &&L->next)//链表不空且m!=0

{

P=L->next;k=1;

while(k<m&&p)//查找am所在结点

{

P= (5) ;++k;

}

if( (6) &&p->next)//n!=0时才需要修改指针

{

ha=L->next;//以指针ha记a1结点的位置

L->next=p->next;//将b1结点链接在头结点之后

p->next=NULL;//设am的后继为空

q= (7) ;//令q指向b1结点

while(q->next)q= (8) ;//查找bn结点

q->next= (9) ;//将a1结点链接到bn结点之后

}

}

}

//函数2的时间复杂度是 (10) 。

点击查看答案

第9题

下面的程序段的时间复杂度为【】

s=0;

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

for(j=0;j<m;j++)

s=s+a[i][i];

A.O(1)

B.O(m+n)

C.O(log2mn)

D.O(m*n)

点击查看答案

第10题

下面程序段的时间复杂度是()。 s=0; for (i=0;i <n;i++) for (j="0;j&lt;n;j++)" s+="B[i][j];" sum="s;&lt;br/"> A、O(n)

B、

C、O(2n)

D、

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

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

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

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

上学吧找答案