B、
C、O(2n)
D、
第1题
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)
第4题
int i=1:
while(i<=n)
i=i*2:
A.O(log2n)
B.O(n)
C.O(nlog2n)
D.O(n2)
第5题
void fun(int n){
int i,k;
for(i=1;i<=n;i十十)
for(j=1;j<=n;j十十){
k=1:
while(k<=n)k=5*k:
}
}
A.O(n2log2n)
B.O(nlog5n)
C.O(n2log5n)
D.O(n3)
第6题
程序段s=i=0;do {i=i+1; s=s+i;}while(i<=n);的时间复杂度为( )。
A.O(n)
B.O(nlog2n)
C.O(n2)
D.O(n3 /2)
第10题
【说明】
计算一个整数数组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的元素值。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!