首页
登录
从业资格
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。 【说明
练习题库
2022-08-02
78
问题
阅读下列说明和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
=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:长度为lt和ls的字符串next:next数组,长度为ls(2)C程序#include <stdio.h>#include<stdlib.h>#include<string.h>/*求next[]的值*/void get_next( int*next, char *s, int ls) { inti=0,j=-1; next[0]=-1;/*初始化next[0]*/ while(i< ls){/*还有字符*/ if(j==-1lls
==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 lt, int ls ) { Inti= 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】
(1):j<ls;
(2):t
==s[j];
(3):get_next(next, s, ls);
j=next[j];
(4):i+1-ls;
【问题2】(2分)
(5)O(ls+lt)
【问题3】
(6)[-1, -1,1, -1, -1, 2, 0, 0],
(7)6
转载请注明原文地址:https://www.tihaiku.com/congyezige/2424941.html
本试题收录于:
初级程序员题库软件水平考试初中高级分类
初级程序员
软件水平考试初中高级
相关试题推荐
护理诊断PSE公式中的P代表A.健康问题的相关因素 B.症状与体征 C.患者
患儿,女,1岁,体重为10kg,其母向社区护士咨询有关喂养问题。该儿每日主要添加
患儿,女,1岁,体重为10kg,其母向社区护士咨询有关喂养问题。该儿每日需水量为
患儿,男,2岁。诊断急性喉炎,最主要的护理问题是A.焦虑 B.低效性呼吸型态
确定导致目标人群疾病或健康问题发生的行为危险因素,区别引起疾病或健康问题的行为与
从分析社会问题入手,确定社会环境和生活质量的问题属于A.社会诊断B.行为诊断C.
IE浏览器能够正确解析()代码。A.ASP B.HTML C.JSP D
网页中代码"inputtype=textname="foo"size=20
负责解释执行JavaScript代码的是()。A.Web服务器 B.Web浏览
使用数据库的主要目的之一是为了解决数据的()问题。A.可靠性 B.传输 C.
随机试题
[originaltext]Goodmorning,ladiesandgentlemen.Iwanttotalktoyoutod
Ithappenstothebestofus.Weputourheadsdown,【B1】______eachday,let
下列选项中,倡导“南北宗论”的中国画家是()。A.董其昌 B.张彦远
将脂溶性药物制成起效迅速的栓剂应选用A.可可豆脂B.半合成山苍子油酯C.半合成椰
A.利福平 B.青霉素类 C.红霉素等大环内酯类抗生素 D.头孢唑啉 E
蓄电池室的温度宜保持在(5~30)℃,最高不应超过35℃,并应通风良好。()
如右图甲、乙两个长方形的面积相等,甲的长与宽之比是5:4,乙的长与宽之比是6:5
下列各项中,属于发行条款中直接影响债券现金流确定的因素是()。A:市场利率B:
政府和社会资本合作(PPP)项目物有所值评价中采用PPP值和PSC值进行比较,其
血清中常规检查检测不到的HBV标志物是A、HBEAg B、HBsAg C、H
最新回复
(
0
)