首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和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
21
问题
阅读下列说明和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代码,分析出KMP算法的时间复杂度为(5) (主串和子串的长度分别为1t和1s,用O符号表示)。
选项
答案
(5)O(1t+1s)
解析
在kmp函数中,只有一个while循环,该算法的时间复杂度为O(1t+1s)。
转载请注明原文地址:https://kaotiyun.com/show/tKDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
SSL是一个协议独立的加密方案,在网络信息分组的应用层和传输层之间提供了安全的通道。SSL主要包括SSL修改密文协议、SSL握手协议、SSL告警协议、SSL记录协议等,其协议栈见图7-16。请根据SSL协议栈结构,将(1)~(4)处空缺的协议名称填写完整。
根据该单位防火墙与外部网络相关的网络连接参数,请将以下命令行中(1)~(4)空缺处的内容填写完整,以完成对防火墙相应的网络接口进行地址初始化的配置。FireWall(config)#ipaddressinside(1)(2)
非对称数字用户线(AsymmetricDigitalSubscriberLine,ADSL)是一种利用现有的传统电话线路高速传输数字信息的技术。ADSL技术可以充分利用现有铜线网路,只要在用户线路两端加装ADSL设备即可为用户提供服务。ADSL系统构
非对称数字用户线(AsymmetricDigitalSubscriberLine,ADSL)是一种利用现有的传统电话线路高速传输数字信息的技术。ADSL技术可以充分利用现有铜线网路,只要在用户线路两端加装ADSL设备即可为用户提供服务。ADSL系统构
依据给出的可选设备进行选型,将(1)~(5)处空缺的设备名称填写在相应位置将(6)~(8)处空缺的介质填写在相应位置(所给介质可重复选择)。
阅读以下说明,回答【问题1】~【问题4】,将解答填入空白处。【说明】某小型单位的网络图如图5所示,Cisco路由器有ISDN模块,单位通过ISDN连接Internet。ISDN是指近年来供最终用户使用的一套数字服务,包括电话网络的数字化,以便ISP
请用100字以内的文字说明该网管软件项目采用快速原型开发方法的优缺点。在最理想和保守的估计中加速开发进度要着重抓的共同环节是哪些?请用50字以内的文字加以说明。
请用100字以内的文字说明该网管软件项目采用快速原型开发方法的优缺点。请指出图7-15可能存在的关键路径是什么?(请用英文字母序号列出)
请说出图9-1的拓扑结构名称与特点。PC2、PC4与PCI、PC3、PC5要连网且能相互访问,需要增添什么设备?
请问无线局域网的工作模式有哪几种?当不使用AP时,必须把一组需要互相通信的无线网卡的什么值设为相同?
随机试题
在Excel中,表示所有字符的通配符是()
A、门静脉高压症的主要阻塞部位在窦前B、门静脉高压症的主要阻塞部位在窦后C、门静脉高压症的主要阻塞部位在窦内D、门静脉高压症的主要阻塞部位在肝前E、门静脉高压症的主要阻塞部位在肝后肝静脉阻塞综合征
下列有关阴道分泌物的描述,错误的是()
“备案号”栏:()。“提运单号”栏:()。
在PowerPoint中,“格式”菜单中的()命令可以用来改变某一幻灯片的布局。
法律、法规授权的具有管理公共事务职能的组织,在法定授权范围内,以自己的名义可以实施()。
大海、高峰、王昊准备去爬山。天气预报说,今天可能下雨。围绕天气预报,三个人争论起来。大海:“今天可能下雨,那并不排斥今天也可能不下雨,我们还是去爬山吧。”高峰:“今天可能下雨,那就表明今天要下雨,我们还是不去爬山了吧。”王昊:“今天可能下雨,只是表明今天不
19世纪前期,意大利革命党派创办过一些什么重要报纸?他们的办报目的是什么?
情景:AirFrance(法国航空公司)最近推出特别优惠机票网上订票活动。假如你是Jack,你在一周后要去Paris,请你以e-mail的形式向本地AirFrance办事处预定一张机票。在你的邮件相关地方要写清楚如下内容(不作要求的地方不需填写):收
中国的食物可以大致分成北方和南方两种烹饪风格。北方菜相对来说较油腻,喜欢在菜里使用醋(vinegar)和大蒜(garlic)。面食(cookedwheatenfood)是北方菜系的重要部分。面条、馄饨(ravioli)、饺子、包子(steamedst
最新回复
(
0
)