首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 模式匹配是指给定主串t和子串s,在主串t中寻找子串s的过程,其中s称为模式。如果匹配成功,返回s在t中的位置,否则返回一1。 KMP算法用next数组对匹配过程进行了优化。K
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明】 模式匹配是指给定主串t和子串s,在主串t中寻找子串s的过程,其中s称为模式。如果匹配成功,返回s在t中的位置,否则返回一1。 KMP算法用next数组对匹配过程进行了优化。K
admin
2017-11-28
51
问题
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
模式匹配是指给定主串t和子串s,在主串t中寻找子串s的过程,其中s称为模式。如果匹配成功,返回s在t中的位置,否则返回一1。
KMP算法用next数组对匹配过程进行了优化。KMP算法的伪代码描述如下:
1.在串t和串s中,分别设比较的起始下标i=j=0。
2.如果串t和串s都还有字符,则循环执行下列操作:
(1)如果j=1或者t
=s[j],则将i和j分别加1;继续比较t和s的下一个字符;
(2)否则,将j向右滑动到next[j]的位置,即j=next[j]。
3.如果s中所有字符均已比较完毕,则返回匹配的起始位置(从1开始);否则返回一1。其中,next数组根据子串s求解。求解next数组的代码已由get next函数给出。
【C代码】
(1)常量和变量说明
t,s:长度为1t和1s的字符串
next:next数组,长度为1s
(2)C程序
#include
#include
#include
/*求next[]的值*/
void get next(int*next,char*s,int is){
int i=0,j=一1;
next[0]=一1;/*初始化next[0]*/
while(i
if(j==一1‖s
=s[j]){/*匹配*/
j++
i++;
if(s
==s[j])
next
=next[j];
else
next
=j;
}
else
j=next[j];
}
}
int kmp(int*next,Char*t,char*s,int it,int is)
{
int i=0,j=0;
while(i
if(j=一1 ‖ (2) ){
i ++;
j++;
} else
(3) ,
}
if ( j>=ls)
return (4);
else
return一1;
}
根据C代码,字符串“BBABBCAC”的next数组元素值为(6) (直接写元素值,之间用逗号隔开)。若主串为“AABBCBBABBCACCD”,子串为“BBABBCAC”,则函数kmp的返回值是(7)。
选项
答案
(6)-1,-1,1,一1,一1,2,0,0(7)6
解析
根据C函数get—next,得到“BBABBCAC"的next数组的值为一1,一1,1,一1,一l,
2,0,0。对主串为“AABBCBBABBCACCD”和上述模式串,得到匹配位置为6,这里需要注意的是,位置从1开始。
转载请注明原文地址:https://kaotiyun.com/show/3KDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
SSL是一个协议独立的加密方案,在网络信息分组的应用层和传输层之间提供了安全的通道。SSL主要包括SSL修改密文协议、SSL握手协议、SSL告警协议、SSL记录协议等,其协议栈见图7-16。请根据SSL协议栈结构,将(1)~(4)处空缺的协议名称填写完整。
认真阅读以下关于架构Apache安全服务器的技术说明,根据要求回答问题1至问题5。【说明】某些商务公司要求其网站的部分信息资源只对经过身份认证后的用户开放。因此在Linux+Apache架构Web服务器方案中,需利用mod-ss1模块给Apach
PGP协议采用RSA和IDEA两种加密算法组成链式加密体系,这种方案的优点是(1)。PGP还可以对电子邮件进行认证,认证机制是用MD5算法产生(2)位的报文摘要,发送方用自己的RSA私钥对(3)进行加密,附加在邮件中进行传送。公钥只用来加密(4),文件是用
阅读以下在政务网中基于MPLS的IP-VPN应用服务的技术说明,回答问题1至问题5。【说明】为了保证政务外网各系统的安全,必须要为各系统的网络互联提供安全隔离及网络服务质量保证,使用基于MPLS的IP-VPN是在IP网上解决这种安全隔离的一种较好
非对称数字用户线(AsymmetricDigitalSubscriberLine,ADSL)是一种利用现有的传统电话线路高速传输数字信息的技术。ADSL技术可以充分利用现有铜线网路,只要在用户线路两端加装ADSL设备即可为用户提供服务。ADSL系统构
请说出(1)、(2)、(3)、(4)、(5)对应行的含义。(1)图6-3是Windowsxp的DNS设置窗口,请指出图6-3中配置错误之处。(2)在Windowsxp系统中,根据图6-3中的相关信息,请写出默认路由。(3)图6-
对一个大型校园网工程进行网络备份系统设计时,应考虑解决哪些主要的问题?请用150字以内的文字简要说明。数据库系统存储了大量的数据,在发生意外的情况下,为了确保数据能够尽可能准确地恢复,数据库系统提供了备份和恢复的功能。通常,数据库管理系统都提供了全部数
阅读以下关于以快速原型模型开发网管软件系统时的项目进度管理的叙述,回答问题1至问题5。【说明】某网络程序软件开发公司承接某项网络工程的网络流量统计管理软件开发任务。在进行可行性研究时,需要估算完成项目的时间进度。由于该软件公司近年来已经为采用快速
ADSL技术可以充分利用现有铜线网络,只要在用户线路两端加装ADSL设备即可为用户提供服务。请从以下术语选择适当的编号,将图5-9所示的拓扑结构中(1)~(4)空缺处的名称填写完整。【供选择的答案】A.程控交换机B.二层交换机
将图2-2中(1)和(2)空缺名称填写在对应的解答栏内。按照G.lite的最高速率标准,上传24MB的文件需要多少秒时间?
随机试题
“通过激励学生提高自己才能的欲求,从而提高学习的效率”属于发现学习内部动机的哪一种()
微分方程的通解是().
在施工成本控制的工作步骤中,“检查”的主要内容是()。
划分防烟分区的措施有()。
我出口某商品,对外报价CFR香港1000美元,对方要求改报CFRC3%香港,问我方报价应为多少美元。
约当产量就是将月木在产品数量按照完工程度折算为相当于完工产品的产量。()
我国优秀跳高运动员_______在1970年以_______米的成绩创造了世界纪录。
居民委员会的设立、撤销、规模调整,由下列哪一级人民政府决定?()
Wheredoesthewomanwanttogo?
Yesterdayyoulostyourstudentidentificationcard.WritetotheDirectorofStudentServicesexplainingthesituation,stating
最新回复
(
0
)