阅读下列说明和C代码,回答问题l至问题3.将解答写在答题纸的对应栏内。【说明】计算一个整数数组a的
阅读下列说明和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的元素值。
本题考查算法设计与分析以及用C程序设计语言来实现算法的能力。此类题目要求考生认真阅读题目对问题的描述,理解算法思想,并会用C程序设计语言来实现。【问题1】根据题干描述,用一个数组b来记录数组a每个子数组的最长递增子序列的长度,即b[i]记录a[0..i]的最长递增子序列的长度。首先,只有一个元素的数组的最长递增子序列的长度为1,即给b[0]直接赋值1。因此,空(1)处填写“b[0]=1”。两重for循环中,第一重是从a数组的第二个元素开始,考虑每个子数组a[0....II]的最长递增子序列的长度,第二重是具体的计算过程。考虑子数组a[0..I],其最长递增于序列的长度应该等于子数组a[O.i-l]中的比元素a[i]小的元素的最长递增子序列的长度加1,当然,可能存在多个元素比元素a[i]小,那么存在多个最长递增子序列的长度,此时,取最大者。因此,空处填写j
在反应2A+B=C+D中,已知25gA与15gB刚好完全反应,生成10gD,并且C的相对分子质量为 化学 2020-06-07 …
阅读图片判断:以下表述是从以上材料中得出的,请在对应题号后写“A”:违背了以上材料所的意思,请在对 历史 2020-06-27 …
27个元素符号,五个一组名称和符号对应着写下来,我已经写下来了氢氦锂铍硼(对应符号)碳氮氧氟氖(对 其他 2020-07-05 …
三角形A撇B撇C撇是由三角形ABC平移到的,点A(-1,-4)的对应点为A撇(2,-1),点B(1 数学 2020-07-07 …
某芳香烃A(C9H10)有如下转化关系:(1)写出反应②的反应条件:.写出反应①的反应类型:.(2 化学 2020-07-09 …
下面程序的功能是将小写字母变成对应大写字母后的第二个字母.其中y变成A,z变成B.请选择填空.#i 数学 2020-07-17 …
在PowerPoint2003中,若要改变手写多边形对象的形状,应该首先.29.在PowerPoin 其他 2020-11-28 …
(2013•永安市质检)如图,抛物线y=43x2+83x−4与x轴交于点A、B,与y轴交于点C.(1 其他 2020-12-22 …
对于aA(g)+bB(g)cC(g)的平衡体系,加热时体系中混合气体对H2的相对密度增大,下列说法正 化学 2020-12-24 …
如图表示四种基本反应类型与氧化还原反应的关系,请回答下列问题:(1)I、II分别表示的基本反应类型是 化学 2021-01-11 …