首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 计算两个字符串x和y的最长公共子串(Longest Common Substring)。 假设字符串x和字符串y的长度分别为m和n,用数组c的元素c[i][j
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 计算两个字符串x和y的最长公共子串(Longest Common Substring)。 假设字符串x和字符串y的长度分别为m和n,用数组c的元素c[i][j
admin
2016-11-11
70
问题
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
计算两个字符串x和y的最长公共子串(Longest Common Substring)。
假设字符串x和字符串y的长度分别为m和n,用数组c的元素c
[j]记录x中前i个字符和y中前j个字符的最长公共子串的长度。
c
[j]满足最优子结构,其递归定义为:
计算所有c
[j](O≤i≤m,0≤j≤n)的值,值最大的c
[j]即为字符串x和y的最长公共子串的长度。根据该长度即i和j,确定一个最长公共子串。
【C代码】
(1)常量和变量说明
x.y:长度分别为m和n的字符串。
c
[j]:记录x中前i个字符和y中前j个字符的最长公共子串的长度。
max:x和y的最长公共子串的长度。
maxi,maxj:分别表示x和y的某个最长公共子串的最后一个字符在x和y中的位置(序号)。
(2)C程序
#include
#include
int c[50][50];
int maxi;
int maxj;
int 1cs(char *x,int m,char *y,int n) {
int i,j;
int max=0;
maxi=0;
maxj=0;
for(i=0;i<=m;i++) c
[0]=0;
for(i=1;i<=n;i++) C[0]
=0;
for(i=1;i<=m;i++) {
for(j=1;j<=n;j++) {
if(___________(1)) {
c
[j]=C[i—1][j一1]+1;
if(max<c
[j]){
___________(2);
maxi=i;
maxj=j;
}
}
else ___________(3);
}
}
return max;
}
void printLCS(int max,char *x){
int i=0;
if(max==0) return;
for(___________(4);i<maxi;i++)
printf("%c",x
);
}
void main(){
char*x="ABCADAB";
cnar*y="BDCABA";
int max=0;
int m=strlen(x);
int n=strlen(y);
max=lcs(x,m,y,n);
printLCS(max,x);
}
【问题1】
根据以上说明和C代码,填充C代码中的空(1)~(4)。
选项
答案
(1)x[i-1]==y[j-1] (2)max=c[i][j] (3)c[i][j]=0 (4)i=maxi-max
解析
本题考查算法设计与分析和C语言实现算法的相关技术。
此类题目要求考生认真阅读题目,首先理解问题以及求解问题的算法思路。
根据题干说明,给出的问题具有最优子结构,考生应该能想到该题用动态规划或者贪心求解。一般在给出递归定义最优解时,已经比较清楚地给出要用动态规划方法,并且根据给出的C程序,可知以自底向上的方式进行计算,即先求小规模问题的,再求规模更大的问题的解。进入到C程序内部,函数lcs是计算c数组,并确定其最大的元素。在两重循环内,应该是递归公式的迭代求解过程,因此空(1)处填入“x[i-1]=y[j-1]”;若当前的最大长度小于c
[j],则应该更新当前最大长度,即空(2)处填入“max=c
[j]”;空(3)前面是else与if对应,即是x[i-1]≠y[j-1]的情况,根据递归式此处填入“c
[j]=0”;函数printLCS是根据函数lcs计算的结果输出最长公共子串,长度为max,在串x中的最后位置是maxi,而在串y中的最后位置是maxj,因此,空(4)填入“i=maxi—max”。
转载请注明原文地址:https://kaotiyun.com/show/7dDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,回答问题1至问题3,将解答填入对应的解答栏内。【说明】某校园网申请到了C类网络地址块202.115.0.0/24~202.115.3.0/24。根据网络规划需求,网络中心、图书馆、教学实验楼以及行政办公楼的各个部门需划分到不同网段。
阅读以下关于在ISDN网中应用点对点协议(PPP)和按需拨号路由(DDR)技术的说明,结合网络拓扑图回答问题1至问题4。【说明】综合数字业务网(ISDN)由数字电话和数据传输服务两部分组成,提供基本速率接口(BRI)和基群速率接口(PRI)两种服
网络维护是网络管理中一项很重要的工作。由于网络协议和网络设备的复杂性,许多故障解决起来绝非像解决单机故障那么简单。网络故障的定位和排除,既需要长期的知识和经验积累,也需要一系列的软件和硬件工具,这样才能解决我们在学习或工作中遇到的网络故障。
阅读以下有关网络接入方案的说明,回答问题1~3。【说明】某单位己完成了主干网络的建设任务,现在需要对其职工住宅区的用户接入主干网的技术方案作选型设计。职工住宅已有的通信条件是:(1)电话线(2)电视铜缆。在不重新布线的前提下,以下5种技术方
在图4-8所示的无线接待室中WLAN采用的体系结构如图4-9所示,请将(1)~(3)空缺处填写完整请将以下(11)~(14)空缺处的内容填写完整,并帮助郭工程师解释产生以下网络故障的原因。该网络建成后一直使用正常,但最近发现无线覆盖区域A、B
在图4-8所示的无线接待室中WLAN采用的体系结构如图4-9所示,请将(1)~(3)空缺处填写完整IEEE802.11定义了无线局域网(WLAN)的两种工作模式,根据图4-8所示的网络拓朴结构可判断出该WLAN的工作模式是(4)。当前WLAN中主要使
网络负载平衡(NetworkLoadBalancing)的核心是位于网络适配器驱动和(1)之间的WLBS.SYS的筛选器驱动。它采用一种(2),根据传入客户端的(3),以统计方式将其映射到群集主机。当发现到达的数据包时,所有主机同时执行这种映射,以快速
阅读以下基于Windows2003操作系统服务器实施负载平衡策略的技术说明,根据要求回答问题1至问题5。【说明】随着各行业信息化建设的不断深入,对网络应用服务器的处理能力、高可用性提出了更高的要求。尤其是高度信息化的企业中,关键性网络服务已经成
请指出图1-12中(1)空缺处传输的是模拟信号,还是数字信号?在图1-12所示的网络拓扑图中,欲使内部网具有构造虚拟网的功能,图中(5)空缺处的交换机应具有哪些功能?
随机试题
当[S]=5Km时,酶促反应速度v应为
茯苓的功效是车前子的功效是
某工程项目,按照招标文件的要求,编制出工程标底价为270万元。开标时先判断各投标单位的投标报价在工程标底价±5%范围内为有效标书,评标时以(工程报价-实施标底价)/实施标底价的绝对值最小的为中标单位,实施标底价为有效投标报价的平均值,各投标单位的投标报价见
根据我国《劳动法》的有关规定,对女职工的特殊保护规定主要包括()。
合同当事人既约定了定金又约定了违约金,未违约的一方()。
公文落款处所标明的日期是指()。
某砖厂计划20天生产30000块砖,现在已生产的块数可以装2辆卡车,已知每盒装6块砖,每箱装40盒,每辆卡车装50箱,照这样计算,还要生产几天才能全部完成?
以下选项中中原王朝对西藏管辖设置机构对应有误的一项是()。
AsPhiladelphiagrewfromasmalltownintoacityinthefirsthalfoftheeighteenthcentury,itbecameanincreasinglyimport
[A]manager[B]dictionary[C]light[D]milk[E]teacher[F]cashier[G]policemanPeopleuseittoseethings.
最新回复
(
0
)