【模式串个数匹配】+ KMP
来源:互联网 发布:win8开始菜单软件 编辑:程序博客网 时间:2024/05/21 21:40
实现代码 :
#include<iostream>#include<cstring>using namespace std;typedef struct{ int l; char c[100];}node;int nx[100];void pz(node &p,char *s){ if(strlen(s) > 100) return ; p.l = strlen(s); for(int i = 0 ; i < p.l; i++) p.c[i] = *(s + i);}void qn(node p){ nx[1] = 0; for(int i = 1,j = 0; i < p.l; i++){ j = nx[i]; while(j && p.c[i] != p.c[j]) j = nx[j]; nx[i + 1] = p.c[i] == p.c[j] ? j + 1 : 0; }}int kmp(node a,node b,int pl){ for(int i = pl,j = 0; i < b.l; i++){ while(j && a.c[j] != b.c[i]) j = nx[j]; if(a.c[j] == b.c[i]) j++; if(j == 3) return i + 1; } return 0;}int main(){ node s; pz(s,"bbaaabbababba"); node T; qn(s); pz(T,"abb") ; int num = 0,pl = 0; while(s.l - pl >= T.l){ pl = kmp(T,s,pl); if(!pl) break; num++; } cout << num << endl; return 0;}
0 0
- 【模式串个数匹配】+ KMP
- 模式串匹配:KMP
- KMP 模式串匹配
- KMP 匹配个数
- 串模式匹配之------KMP
- KMP模式匹配 串1
- KMP模式匹配 串2
- 串的kmp模式匹配
- KMP 模式串匹配算法
- kmp 快速模式串匹配
- 串-KMP模式匹配算法
- KMP模式串匹配模板
- 串的匹配模式 蛮力匹配 KMP匹配
- 串处理(朴素模式匹配/KMP模式匹配)
- 串的模式匹配KMP算法
- 串的模式匹配 经典KMP算法
- 串的模式匹配KMP算法
- 串的模式匹配改进--KMP算法
- 使用dm-cache,将SSD用作HDD的Cache
- 史上最简单的SpringCloud教程 | 第六篇: 分布式配置中心(Spring Cloud Config)
- 优化 | 重要的MySQL开发规范都在这了
- leetcode题目:gas-station 使用start/end方法的个人理解
- 【CF GYM101341I】Matrix God 题解
- 【模式串个数匹配】+ KMP
- NYOJ 1237 最大岛屿(DFS)
- 一个止步于64强的小白对于2017年华为挑战赛的总结(java+spfa+最小代价最大流+启发式算法)
- iframe访问父级页面、子级页面
- Scrapy在win7 32位的安装及依赖包
- FZU2087-统计树边
- Servlet学习日记一——一个简单的HelloWorldServlet程序
- poj 2492 A Bug's Life
- Java按行读写txt数据