KMP最常用的模板
来源:互联网 发布:巨人网络私有化退市 编辑:程序博客网 时间:2024/05/16 01:40
1、适用于前后缀的最大匹配
P:abcdabcdabcd无
F:0000012345678
F[12] = 8,含义:前8个字符和后8个字符一样,且最小循环节长度是4
char s[1010], p[1010];int f[1010];void getf(){memset(f, 0, sizef(f));int i=0, j=-1;f[0] = -1;while(i<lp){if(j==-1 || p[i]==p[j]){i++, j++;f[i] = j;}else j = f[j];}}int KMP(){int ls=strlen(s);int lp=strlen(p);getf();}
2、优化后的,避免了重复判断的,效率较高
P:ABCDABCDABCD
F:-1000-1000-1000
char s[1010], p[1010];int f[1010];void getf(){memset(f, 0, sizef(f));int i=0, j=-1;f[0] = -1;while(i<lp){if(j==-1 || p[i]==p[j]){i++, j++;if(p[i]!=p[j]) f[i]=j;else f[i] = f[j]; }else j = f[j];}}int KMP(){int ls=strlen(s);int lp=strlen(p);getf();}
0 0
- KMP最常用的模板
- KMP常用算法模板
- 自己的KMP模板
- Duan2baka的KMP模板!
- ACM常用模板——扩展KMP
- 最通俗易懂的KMP算法
- KMP模板
- KMP 模板
- kmp模板
- kmp模板
- kmp模板
- KMP模板
- kmp模板
- kmp模板
- KMP 模板
- 【模板】KMP
- KMP模板
- KMP模板
- Xcode7中自动布局AutoLayout和SizeClass的使用
- Android应用:Lagrange
- mongodb启动失败解决方案
- 高颜值的她~美哭了
- RAID各级别特性
- KMP最常用的模板
- DrictX 绘制线条
- 【HTML/XML 11】XML和HTML的混合使用
- javac 不是内部或外部命令
- Android循环添加多个控件
- 简单理解函数声明(以signal函数为例)
- HDU 1717 小数化分数2【数学】
- mongodb初识
- matlab r2010b netcdf 工具箱 安装方法