//KMP 算法匹配
//解决的是如何快速在字符串S内查找一个词W出现的位置
#include<stdio.h>
#include<string.h>
//暴力匹配法
int stringMatch(char *T,char *p,int lenT,int lenP)
{
int i,j =0;
while(i<(lenT-lenP+1))
{
if(T[i+j] ==p[j])
{
if(j==lenP -1)
return i;
j++;
}
else
{
i++;
j=0;
}
}
}
//
int generate_nextTable(char *s,char *next,int lenP)
{
//j 最大相等子串长度
int j =0;
next[0] =0;
for(i=1;i<lenP;i++)
{
while(s[i]!=s[j]&&j>0)
{
j=next[j-1];
}
if(s[i]==s[j])
{
j++;
}
next[i] =j;
}
}
int main()
{
char T[100],P[10];
}
数据结构-KMP算法
最新推荐文章于 2024-11-04 17:55:03 发布