19.在改进了的(无回溯)字符串模式匹配中,要先求next数组的值。下面是求nextval值的算法。
type sar=array[1..m] of integer;
pty=array[1..m] of char;
procedure next2(p:pty;var nextval:sar);
{在模式p中求nextval数组的值}
1 begin
2 j:=1;nextval[1]:=0;k:=0
3 repeat
4 if (k=0) or (p[j]=p[k])
5 then [ j:=j+1;k:=k+1;
6 if p[j]=p[k]
7 then nextval[j]:=nextval[k]
8 else nextval[j]:=k ]
9 else k:=nextval[k]
10 until j=m
11 end;
算法中第4行有p[j]=p[k],第六行中也有p[j]=p[k]。两处比较语句相同。请分析说明此两处比较语句的含义是什么?分析此算法在最坏情况下的时间复杂度是多少?【北京邮电大学 1993 二、2(6分)】
20.在字符串模式匹配的kmp算法中,求模式的next数组值的定义如下:
next[j]=
请问:
(1)当j=1时,为什么要取next[1]=0?
(2)为什么要取max{k},k最大是多少?
(3)其它情况是什么情况,为什么取next[j]=1? 【北京邮电大学 1994 二(8分)】
21.给出kmp算法中失败函数f的定义,并说明利用f进行串模式匹配的规则,该算法的技术特点是什么?
【东南大学 1993 一、3 (9分) 1997 一、2 (8分) 2001 一、6 (6分)】
22. 在模试匹配kmp算法中所用失败函数f的定义中,为何要求p1p2……pf(j)为p1p2……pj两头匹配的真子串?且为最大真子串? 【东南大学 1996 一、3(7分)】
23.如果两个串含有相等的字符,能否说它们相等?【西安电子科技大学 2000软件 一、3 (5分)】
24.设s1,s2为串,请给出使s1//s2=s2//s1成立的所有可能的条件(//为连接符)。
【长沙铁道学院 1997 三、5 (3分)】【国防科技大学 1999 一 】
25.已知:s =’(xyz)+*’,t =’(x+z)*y’。试利用联结、求子串和置换等基本运算,将 s 转化为 t 。
【北方交通大学 1996 一、3(5分)】【山东科技大学 2002 一、6 (5分)】
第五部分、算法设计
1.设s、t为两个字符串,分别放在两个一维数组中,m、n分别为其长度,判断t是否为s的子串。如果是,输出子串所在位置(第一个字符),否则输出0。(注:用程序实现)【南京航空航天大学 1997 九(10分)】
2.输入一个字符串,内有数字和非数字字符,如:ak123x456 17960?302gef4563,将其中连续的数字作为一个整体,依次存放到一数组a中,例如123放入a[0],456放入a[1],… … 。编程统计其共有多少个整数,并输出这些数。【上海大学 1998 一 (13分)】
3. 以顺序存储结构表示串,设计算法。求串s中出现的第一个最长重复子串及其位置并分析算法的时间复杂度。【东南大学 2000 五 (15分)】
类似本题的另外叙述有:
(1)如果字符串的一个子串(其长度大于1)的各个字符均相同,则称之为等值子串。试设计一算法,输入字符串s,以“!”作为结束标志。如果串s中不存在等值子串,则输出信息“无等值子串”,否则求出(输出)一个长度最大的等值子串。
例如:若s=“abc123abc123!”,则输出“无等值子串”;若s=“abceebccadddddaaadd!”,则输出“ddddd”。
【华中科技大学 2001】
10.编写程序,统计在输入字符串中各个不同字符出现的频度并将结果存入文件(字符串中的合法字符为a-z这26个字母和0-9这10个数字)。【西北大学 2000 四 (10分)】
11.写一个递归算法来实现字符串逆序存储,要求不另设串存储空间。 【西南交通大学 2000 三、2】
12.已知三个字符串分别为s=’ab…abcaabcbca…a’,s’=’caab’, s’’=’bcb’。利用所学字符串基本运算的函数得到结果串为:s’’’=’caabcbca…aca…a’,要求写出得到上结果串s’’’所用的函数及执行算法。【东北大学 1998 一、1 (10分)】
13.s=“s1s2…sn”是一个长为n的字符串,存放在一个数组中,编程序将s改造之后输出:
(1)将s的所有第偶数个字符按照其原来的下标从大到小的次序放在s的后半部分;
(2)将s的所有第奇数个字符按照其原来的下标从小到大的次序放在s的前半部分;
例如:
s=‘abcdefghijkl’
则改造后的s为‘acegikljhfdb’。【中科院计算所 1995】
责任编辑:小草