kmp算法学习(未完成)
来源:互联网 发布:中国煤炭进口量数据 编辑:程序博客网 时间:2024/05/18 02:07
例如
#include <cstdio>#include <algorithm>#include <cstring>using namespace std;void get_next(char *t, int *next){ int j = 0, i = 1; int len = strlen(t); next[1] = 0; while(i <= t[0]) { if(j == 0 || t[i] == t[j]) { i++; j++; next[i] = j; } else { j = next[j]; } }}int kmp(char *s, char *t, int pos){ int i = pos; int j = 1; int next[10100]; get_next(t, next); for(int k = 1; k < t[0]; k++) printf("%d ", next[k]); printf("%d\n", next[t[0]]); while(i <= s[0] && j <= t[0]) { if(j == 0 || s[i] == t[j]) { i++; j++; } else { j = next[j]; } } if(j > t[0]) return i - t[0]; return 0;}int main(){ char s[10100], t[10100]; int next[10100]; while(scanf("%s %s", s+1, t+1) != EOF) { s[0] = strlen(s+1); t[0] = strlen(t+1); get_next(t, next); printf("%d\n", kmp(s, t, 0)); } return 0;}
总结
阅读全文
0 0
- kmp算法学习(未完成)
- 排序算法(未完成)
- 贪心算法(未完成)
- KMP算法(学习记录)
- KMP 算法学习(转)
- VC学习(未完成)
- KMP算法(刘汝佳算法书学习)
- 图论---cruskal算法(未完成)
- 数据结构学习四(KMP算法实现)
- 算法学习-KMP(字符串匹配)解释
- KMP算法学习笔记(二)
- 算法学习之KMP(模板整理)
- Java学习:容器(未完成)
- emacs学习笔记(未完成)
- redis学习总结(未完成)
- (未完成)Maven学习笔记
- ROS学习笔记(未完成)
- KMP算法知识学习
- JavaScript 必掌握的十大难点知识
- poj1426 Find The Multiple
- 方法的重载和重写的区别
- Class对象的学习笔记
- redis 超时失效key 的监听触发
- kmp算法学习(未完成)
- C/S模型-TCP
- 设计模式学习笔记十一:适配器模式(Adapter Pattern)
- Android ijkplayer 编译的 bilibili 开源编译版本上,去掉失败的依赖,增加对 https 支持
- 用SQL命令手工创建CDB
- 【PAT】【Advanced Level】1060. Are They Equal (25)
- XMLHttpRequest对象
- Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档
- Pandas DataFrame 行列操作