信管网每日一练
软件设计师 - 每日一练 导航

软件设计师案例分析每日一练试题(2023/1/16)

2023年01月17日来源:信管网 作者:cnitpm

软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4

往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html

软件设计师案例分析每日一练试题(2023/1/16)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2023/1/16

点击查看:更多软件设计师习题与指导

软件设计师案例分析每日一练试题内容(2023/1/16)

阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
计算一个整数数组a的最长递增子序列长度的方法描述如下:
假设数组a的长度为n,用数组b的元素b[i]记录以a[i](0≤i;其中b[i]满足最优子结构,可递归定义为:

【C代码】
下面是算法的C语言实现。
(1)常量和变量说明
a:长度为n的整数数组,待求其最长递增子序列
b:长度为n的数组,b[i]记录以a[i](0≤i度,其中0≤ilen:最长递增子序列的长度
i,j:循环变量
temp:临时变量
(2)C程序
#include
int maxL(int*b, int n) {
int i, temp=0;
for(i=0; i if(b[i]>temp)
temp=b[i];
}
return temp;
}
int main() {
int n, a[100], b[100], i, j, len;
scanf("%d", &n);
for(i=0; i scanf("%d", &a[i]);
}
(1)    ;
for(i=1; i for(j=0, len=0;     (2)    ; j++) {
if(    (3)     && len len=b[j];
}
(4)    ;
}
Printf("len:%d\n", maxL(b,n));
printf("\n");
}
【问题1】(8分)
根据说明和C代码,填充C代码中的空(1)~(4)。
【问题2】(4分)
根据说明和C代码,算法采用了 (5) 设计策略,时间复杂度为 (6) (用O符号表示)。
【问题3】(3分)
已知数组a={3,10,5,15,6,8},根据说明和C代码,给出数组b的元素值。
信管网试题答案与解析:www.cnitpm.com/st/3814829334.html

信管网考友试题答案分享:

信管网wangly:
问题1: (1)b[0] = 1 (2)j<i (3)a[i] >= a[j] (4)b[i]=len+1 问题2: 动态规划 o(n2) 问题3: b={1, 2, 2, 3, 3, 4}

信管网试题答案与解析:www.cnitpm.com/st/3814829334.html

温馨提示:因考试政策、内容不断变化与调整,信管网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

分享至:

信管网 - 信息系统项目管理专业网站

下载APP-在线学习

培训课程

0元畅享

考试题库

免费资料

客服咨询