首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和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
94
问题
阅读下列说明和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://www.kaotiyun.com/show/7dDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读以下说明,回答问题1至问题3,将解答填入对应的解答栏内。【说明】某校园网申请到了C类网络地址块202.115.0.0/24~202.115.3.0/24。根据网络规划需求,网络中心、图书馆、教学实验楼以及行政办公楼的各个部门需划分到不同网段。
阅读以下关于校园网组建的技术说明,根据要求回答问题1至问题4。【说明】某学校新建一栋21层教学综合大楼,楼层两端相距100m,距一端50m处有一弱电竖井,弱电竖井贯穿每层的弱电室。每层楼均有100个信息点(所有信息点要求具有100Mb/s的数据传
解释图10-2中的PVC和SVC。以下是LANE工作过程,其顺序已乱,请排序。①LEC接着便向其他LEC广播这个响应。②在地址表中含有被称为MAC地址的LEC向LEC作出响应。③LES发送多点组播至网络上的其他LEC。④
阅读以下说明,将(n)的含义填入对应栏内。[说明]电子邮件是Internet中应用最广泛的服务,因此安装和配置一个高效与满足实际需求的电子邮件系统是每一个系统管理员的奋斗的目标之一,Linux的出现为构建低成本的、高效的电子邮件服务器提供了
简述本题中POP3服务的实现过程。要求:(1)仅屏蔽来自200.117.112.0网络的FTP数据信息;(2)仅屏蔽来自192.168.11.12主机对Internet的FTP数据信息请求。请填写完整相关信息,将(1)~(4)处
阅读以下家庭HFC宽带接入Internet网的技术说明,结合网络连接拓扑图,根据要求回答问题1至问题5。【说明】混合光纤一同轴电缆网(即HFC网)将光纤敷设到小区,再通过光电转换节点,利用CATV的总线式同轴电缆网连接到用户,从而为用户提供Int
在图4-8所示的无线接待室中WLAN采用的体系结构如图4-9所示,请将(1)~(3)空缺处填写完整IEEE802.11定义了无线局域网(WLAN)的两种工作模式,根据图4-8所示的网络拓朴结构可判断出该WLAN的工作模式是(4)。当前WLAN中主要使
阅读以下基于Windows2003操作系统服务器实施负载平衡策略的技术说明,根据要求回答问题1至问题5。【说明】随着各行业信息化建设的不断深入,对网络应用服务器的处理能力、高可用性提出了更高的要求。尤其是高度信息化的企业中,关键性网络服务已经成
在RAS上存在着两个RJ45的端口,分别为Console与AUX,请问这两个端口的用途是什么?(控制在100个字以内)在第4步中,进入虚拟操作台后,在IOS环境下输入了如下的配置,请解释(1)~(4)处的标有下划线部分配置命令的含义(“◇”后为配置内容
随机试题
首先指出消渴病尿有甜味的医著是
鉴别甲亢与单纯甲状腺肿最有意义的是
男性,27岁,3天前搬重物后感腰痛,伴右下肢放射痛,咳嗽、喷嚏时症状加重,不能下床活动,以前无类似发作史。查体:腰椎生理弧度消失,活动明显受限,直腿抬高仅达40°,加强试验阳性,右足外侧踝部皮肤感觉过敏,右跟腱反射减弱,X线除腰椎生理弧度消失外,未见其他异
办理工程竣工结算的一般公式为()。
均质土坝最常用的土料有()。
《会计法》中所指的单位负责人包括单位的副职领导人。()
兀型梁桥一般只用于()的小跨径桥梁。
某公司2008年拟投资4000万元购置一台生产设备以扩大生产能力,该公司目标资本结构下权益乘数为2。该公司2007年度税前利润为4000万元,所得税率为25%。[要求]如果该企业采用的是低正常股利加额外股利政策,低正常股利为1000万元,额外股利为净
社会工作者小李为社区内的企业家开办小组活动,希望通过宣传《残疾人保障法》,展示残疾人的各种能力,消除企业家长期形成的“残疾人无能”的观念,达到促进残疾人就业的目标,上述案例中,小李运用的帮助残疾人的措施属于()的范畴。
嵌入式系统使用的存储器有多种类型,按照其存取特性可分为随机存取存储器和只读存储器,它们通常都用三个大写英文字母表示,即【57】和【58】。
最新回复
(
0
)