第一篇:字符串算法之模式匹配
1.用途:搜索引擎,拼写检查,语言翻译,数据压缩等。
2.介绍:
第一种:FB算法。
挨位匹配,时间复杂度大。
//cnt表示在a串的某一点出进行匹配。
int FB_index(string a,string b,int cnt)
{
int i=cnt,j=0;
while(i<a.length()&&j<b.length())
{
if(a[i]==b[j])
{
i++;
j++;
}
else
{
i=i-j+1;
j=0;
}
}
if(j==b.length())
{
return i-j+1;
}
else
return 0;
}
第二种:KMP算法
难点在于如何构建next数组。