字符串匹配算法
来源:互联网 发布:win10网络图标有个红叉 编辑:程序博客网 时间:2024/04/25 17:24
朴素的字符串匹配算法需要n*m的时间复杂度。
KMP算法能够很好的解决字符串匹配问题。
int fail[n];//////失败函数
void compute-fail()//s2为子字符串
{
fail[0]=-1;
k=-1;
for(i=1;i<n;i++)
{
while(k>-1&&s2[i]!=s2[k+1])k=fail[k];
if(s2[k+1]==s2[i])k=k+1;
fail[i]=k;
}
}
bool Kmp(string s1,string s2)//s1的长度为m,s2的长度为n
{
int i=0,j=0;
while(i<m&&j<n)
{
if(s1[i]==s2[j]){i++;j++;}
else
{
if(j==0)i++;
else j=fail[j-1]+1;
}
}
if(j>=n)return true;
else return false;
}
KMP算法能够很好的解决字符串匹配问题。
int fail[n];//////失败函数
void compute-fail()//s2为子字符串
{
fail[0]=-1;
k=-1;
for(i=1;i<n;i++)
{
while(k>-1&&s2[i]!=s2[k+1])k=fail[k];
if(s2[k+1]==s2[i])k=k+1;
fail[i]=k;
}
}
bool Kmp(string s1,string s2)//s1的长度为m,s2的长度为n
{
int i=0,j=0;
while(i<m&&j<n)
{
if(s1[i]==s2[j]){i++;j++;}
else
{
if(j==0)i++;
else j=fail[j-1]+1;
}
}
if(j>=n)return true;
else return false;
}
- 算法 字符串匹配算法
- 字符串匹配算法
- BM字符串匹配算法
- KMP 字符串匹配算法
- 字符串匹配算法
- 字符串匹配算法
- 字符串匹配算法(摘)
- 字符串匹配算法
- 字符串匹配算法
- 字符串匹配的算法
- kmp字符串匹配算法
- 字符串匹配算法
- 字符串匹配算法研究
- 字符串模式匹配算法
- kmp字符串匹配算法
- KMP字符串匹配算法
- 字符串模式匹配算法
- BM字符串匹配算法
- jxl.jar包基础——简介
- automation服务器不能创建对象
- 什么是Kernel、Shell、Bash 很幽默的解释
- BLOG开通咯
- 基于EXCEL的WEB报表输出组件
- 字符串匹配算法
- 从平庸中脱颖而出:CIO成功的八大诀窍
- Understand inline
- c/c++ 问题
- const 对指针的约束
- 所有PHP程序员都应该知道的五个工具
- c#读写xml
- 使用 Java Print Service API 进行打印
- xmlHttp.Open函数