阅读下列说明和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=-l或者t[i]=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:长度为悯铂Is的字符串 next:next数组,长度为Is(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==-1lls[i]==s[j]){/*匹配*/ j++; i++; if( s[i]==s[j]) next[i]= next[j]; else Next[i]= j; }else j = next[j]; }} int kmp( int *next, char *t ,char *s, intlt, 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;} 【问题1】(8分) 根据题干说明,填充C代码中的空(1)~(4).【问题2】(2分)根据题干说明和C代码,分析出kmp算法的时间复杂度为(5)(主串和子串的长度分别为It和Is,用O符号表示)。【问题3】(5分)根据C代码,字符串“BBABBCAC”的next数组元素值为(6)(直接写素值,之间用逗号隔开)。若主串为“AABBCBBABBCACCD”,子串为“BBABBCAC”,则函数Kmp的返回值是(7)。
阅读下列说明和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=-l或者t[i]=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:长度为悯铂Is的字符串
next:next数组,长度为Is
(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 < ls){/*还有字符*/
if(j==-1l
ls[i]==s[j]){/*匹配*/
j++;
i++;
if( s[i]==s[j])
next[i]
= next[j];
else
Next[i]
= j;
}
else
j = next[j];
}
}
int kmp( int *next, char *t ,char *s, int
lt, int Is )
{
Int i=
0,j =0 ;
while
(i < lt && (1) ){
if(
j==-1 || (2) ){
i
++ ;
j
++ ;
}
else
(3) ;
}
if (j >= ls)
return (4) ;
else
return -1;
} 【问题1】(8分)
根据题干说明,填充C代码中的空(1)~(4).
【问题2】(2分)
根据题干说明和C代码,分析出kmp算法的时间复杂度为(5)(主串和子串的长度分别为It和Is,用O符号表示)。
【问题3】(5分)
根据C代码,字符串“BBABBCAC”的next数组元素值为(6)(直接写素值,之间用逗号隔开)。若主串为“AABBCBBABBCACCD”,子串为“BBABBCAC”,则函数Kmp的返回值是(7)。
【说明】 模式匹配是指给定主串t和子串s,在主串t中寻找子串s的过程,其中s称为模式。如果匹配成功,返回s在t中的位置,否则返回-1 。
KMP算法用next数组对匹配过程进行了优化。KMP算法的伪代码描述如下: 1.在串t和串s中,分别设比较的起始下标i=j=0。 2.如果串t和串s都还有字符,则循环执行下列操作: (1)如果j=-l或者t[i]=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:长度为悯铂Is的字符串
next:next数组,长度为Is
(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 < ls){/*还有字符*/
if(j==-1l
ls[i]==s[j]){/*匹配*/
j++;
i++;
if( s[i]==s[j])
next[i]
= next[j];
else
Next[i]
= j;
}
else
j = next[j];
}
}
int kmp( int *next, char *t ,char *s, int
lt, int Is )
{
Int i=
0,j =0 ;
while
(i < lt && (1) ){
if(
j==-1 || (2) ){
i
++ ;
j
++ ;
}
else
(3) ;
}
if (j >= ls)
return (4) ;
else
return -1;
} 【问题1】(8分)
根据题干说明,填充C代码中的空(1)~(4).
【问题2】(2分)
根据题干说明和C代码,分析出kmp算法的时间复杂度为(5)(主串和子串的长度分别为It和Is,用O符号表示)。
【问题3】(5分)
根据C代码,字符串“BBABBCAC”的next数组元素值为(6)(直接写素值,之间用逗号隔开)。若主串为“AABBCBBABBCACCD”,子串为“BBABBCAC”,则函数Kmp的返回值是(7)。
参考解析
解析: 【问题1】(8分)答:(1):j
【问题2】(2分)答:(5)O(ls+lt)
【问题3】(5分)答:(6)[-1, -1,1, -1, -1, 2, 0, 0](7)6
【问题2】(2分)答:(5)O(ls+lt)
【问题3】(5分)答:(6)[-1, -1,1, -1, -1, 2, 0, 0](7)6
相关考题:
阅读下列说明,回答问题1至问题2,将解答填入对应栏内。【说明】利用Windows Server 2008架设邮件服务器,回答相应问题。邮件服务器通常提供POP3和SMTP两种服务,它们各有什么作用?
阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明]下面是用小王用Dreamweaver MX编写的一个网页,如图12-2所示。从这个图片上,我们可以看出小王使用了Dreamweaver MX的哪些功能?
阅读以下说明,回答问题1~6。ADSL是接入Internet的一种宽带技术,如图2所示为一台带网卡的PC机采用ADSL接入Internet的网络拓扑结构图。(1)和(2)空缺名称填写在答题纸对应的解答栏内。
阅读下面的说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。[说明]阅读以下说明,回答问题1~问题4,将解答填入答题纸对应的解答栏内。windows Server 2003是一个多任务多用户的操作系统,能够以集中或分布的方式实现各种应用服务器角色,是目前应用比较广的操作系统之一。Windows内置许多应用服务功能,将下表中(1)~(5)处空缺的服务器名称填写在答题纸对应的解答栏内。(1)
阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。[说明]某公司A楼高40层,每层高3.3米,同一楼层内任意两个房间最远传输距离不超过90米,A楼和B楼之间距离为500米,需在整个大楼进行综合布线,结构如下图所示。为满足公司业务发展的需要,要求为楼内客户机提供数据速率为100Mbit/s的数据、图像,及语音传输服务。综合布线系统由六个子系统组成,将图中(1)~(6)处空缺子系统的名称填写在答题纸对应的解答栏内。
试题一(共15分)阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。【说明】某网吧拓扑结构如图 1-1 所示,可提供影视、游戏竞技、视频聊天等多种服务,采用VLAN 划分来区分不同的服务。问题 1】(2分)网吧要求实现千兆接入,可采用的方式为 (1) 。(1)备选答案:A. FTTxB. ADSLC. PSTN拨号
阅读以下关于软件测试的说明,回答司题l至问题3,将解答填入答题纸的对应栏内。【说明】使用在汽车、飞机中的嵌入式软件, 日于直接影响人的生命及财产安全,测试要求更为严格。语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖是通常对这类软件的要求。以下是一段C语言代码,请仔细阅读并回答相关问题:【问题1】(6分)请根据测试要求,简要说明语句覆盖、判定覆盖、条件覆盖和MC/DC覆盖的含义。将答案填写在答题纸的对应栏中。【问题2】(5分)画出以上代码的流程图,将答案填写在答题纸的对应栏中。【问题3】(4分)请根据【说明】中的C语言代码,计算满足MC/DC覆盖要求的用例数量及条件取值范围,将答案填写在答题纸的对应栏中.
阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。【说明】某公司网络的 Internet接入方式如图3-1 所示。【问题 1】(4分)查看路由器R1的状态信息如图3-2所示, 则可以确定R1的E0端口IP地址是 (1) ,E1端口的IP地址是 (2) 。
阅读以下说明,回答问题1至问题3,将解答填入答题纸对应的解答栏内。说明】某公司为保护内网安全,采用防火墙接入Internet,网络结构如图4-1所示。【问题 1】(2分)防火墙支持三种工作模式:透明网桥模式、路由模式和混杂模式。在 (1) 模式下,防火墙各个网口设备的IP地址都位于不同的网段。
阅读下列说明,回答问题1 至问题3,将解答填入答题纸的对应栏内。【说明】某城市双创平台成立后,拟建设中小企业服务管理信息系统,主要工作计划如下。【问题1】(4分)结合案例,请问活动A和活动C的历时分别是多少。【问题2】(8分)请补充完整该管理信息系统的双代号网络图。【问题3】(4分)请给出关键路径和项目总工期
阅读以下说明,回答问题1至问题2,将解答填入答题纸对应的解答栏内。【说明】某公司为推广洗涤新产品,需要进行用户体检调查。图4-1为调查表填写页面,表4-1所示为利用Microsoft Access创建的数据库,它将记录被调查用户的姓名、性别、年龄、了解产品方式和评价等信息。
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某网站采用ASP+SQL Server开发,系统的数据库名为gldb,数据库服务器IP地址为202.12.34.1。打开该网站主页,如图5-1所示:【问题1】(8分,每空1分)以下是该网站主页部分的html代码,请根据图5-1将(1)~(8)的空缺代码补齐。 【问题2】(2分,每空1分)该网站采用ASP编写程序代码,在ASP内置对象中,application对象和session对象可以创建存储空间用来存放变量和对象的引用。如果在页面中设置访客计数器,应采用上述的 (9) 对象:如果编写购物车组件,应采用上述的 (10) 对象。【问题3】(5分,每空1分)以下是该网站进行数据库连接的代码conn.asp,请根据题目说明完成该程序,将答案填写在答题纸的对应位置。
l阅读以下说明,回答问题l至问题4,将解答填入答题纸对应的解答栏内。【说明】某小公司网络拓扑结构如图1-l所示,租用了一条ADSL宽带来满足上网需求,为了便于管理,在Server2上安装DHCP服务提供IP地址动态配置。【问题1】(4分)ADSL利用 (1) 网络,采用 (2) 复用技术来实现宽带接入。
阅读以下说明,回答问题1至问题2,将解答填入答题纸对应的解答栏内。【说明】某留言系统采用ASP+Access开发,其后台管理登录页面如图4-1所示。【问题1】(9分)以下是该后台管理登录页面login.asp的部分代码,请仔细阅读该段代码,根据图4-1 将(1)~(9)的空缺代码补齐。【问题2】(6分)1.在登录页面 login.asp 中通过导入了bbb.asp的代码,以下是bbb.asp的部分代码,请仔细阅读该段代码,将空缺代码补齐。
阅读下列说明,回答问题1和问题2,将解答写在答题纸的对应栏内。?【说明】在公钥体制中,每一用户 U 都有自己的公开密钥 PKu 和私钥 SKu 。如果任意两个用户 A 和 B 按以下方式通信:A 发给 B 消息 [EpKB (m),A] 。其中 Ek(m)代表用密钥 K 对消息 m 进行加密。B收到以后,自动向A返回消息【EPkA(m),B】,以使A 知道B确实收到消息m。【问题 1】 (4分)用户 C 怎样通过攻击手段获取用户 A 发送给用户 B 的消息 m。【问题 2】 (6 分)若通信格式变为:A 给 B 发消息:EPKB(ESKA(m),m ,A)B 给 A 发消息: EpKA(EsKN (m),m,B)这时的安全性如何?请分析 A,B 此时是如何相互认证并传递消息的。阅读下列说明,回答问题 1 至问题 4 ,将解答写在答题纸的对 应栏内。
阅读下列C程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【问题1】(3分)请针对上述C程序给出满足100%DC(判定覆盖)所需的逻辑条件。【问题2】(8分)请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。
阅读下列程序,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】逻辑覆盖法是设计白盒测试用例的主要方法之一,它是通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C 语言编写的程序,按要求回答问题。main( ){int i,n; //1for(i=1;i
阅读下列说明和C++代码,回答问题,将解答填入答题纸的对应栏内。【说明】某航空公司的会员积分系统将其会员划分为:普卡 (Basic)、银卡(Silver)和金卡 (Gold) 三个等级。非会员 (NonMember) 可以申请成为普卡会员。会员的等级根据其一年内累积 的里程数进行调整。描述会员等级调整的状态图如图 5-1 所示。现采用状态 (State) 模式实现上述场景,得到如图 5-2 所示的类图。【问题1】(15分)阅读上述说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。【说明】某企业采用Windows Server 2003配置了DHCP、DNS和WEB服务。【问题1】(每空1分,共4分)DHCP服务器地址池192.168.0.1~192.168.0.130,其中192.168.0.10分配给网关,192.168.0.11~192.168.0.15分配给服务器,192.168.0.20分配给网络管理员。