
数据结构
叶落无痕0826
这个作者很懒,什么都没留下…
展开
-
字符串匹配的KMP算法
字符串匹配的KMP算法字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?1.首先,字符串"BBC ABCDABABCDABCDABDE"的第一个字符与搜索词"ABCDABD"的第一个字符,进行比较。因为B与A不匹配,所以搜索词后移一位。2.因为B与A不匹配,搜索词转载 2014-10-08 14:38:08 · 607 阅读 · 0 评论 -
KMP算法Next数组计算
其实做这个题很简单,我先说说这个题里的各种概念。给定的字符串叫做模式串T。j表示next函数的参数,其值是从1到n。而k则表示一种情况下的next函数值。p表示其中的某个字符,下标从1开始。看等式左右对应的字符是否相等。好了,开始做题了。首先,要把字符串填入到一个表格中:(拿第一个题为例)将j导入next函数,即可求得,j=1时,next[0转载 2014-10-08 13:41:56 · 646 阅读 · 0 评论 -
KMP算法中next和nextval数组的求解
intget_nextval(SString T,int &nextval[ ]){//求模式串T的next函数修正值并存入数组nextval。i=1;nextval[1]=0; j=0;while(iif(j==0||T[i]==T[j]){++i;++j;if(T[i]!=T[j]) nextval[i]=j;elsenextval[i]=nextval[j];原创 2014-10-08 17:04:38 · 11283 阅读 · 2 评论