KMP算法程序
来源:互联网 发布:淘宝的服务中心在哪里 编辑:程序博客网 时间:2024/06/06 19:54
上上周学习了kmp,经过练习现在终于能够自己独立写出来了,看的网页里面这个感觉还是蛮不错的,别的网址说真的对我来说还是有些难理解
这些是我最近看的网页
http://www.matrix67.com/blog/archives/115
http://blog.csdn.net/v_july_v/article/details/7041827
我水平有限,还是matrix67讲的比较详细接地气,对我帮助很大。
我这个程序就是按照matrix67的思路编写的,只不过字符串的首元素下标为0,而不是matrix67网页中给出程序的首元素为下标为1。
#include <cstdio>#include <cstring> #include <iostream>//挺对的,但是还不明白 using namespace std;string a, b, p;int main(){ cin>>a>>b; int j = -1; p[0] = -1; for(int i = 1; i < b.size(); i++) { while(j >= 0 && b[j+1] != a[i]) j = p[j]; if(b[j+1] == b[i]) j++; p[i] = j; } j = -1; for(int i = 0; i < a.size(); i++) { while(j >= 0 && b[j+1] != a[i]) j = p[j]; if(b[j+1] == a[i]) j++; if(j == b.size()-1) { j = p[j]; printf("%d\n", i-b.size()+1); } } getchar();getchar(); return 0;}
0 0
- KMP算法程序
- KMP算法-C语言程序实现
- KMP算法详解 【KMP】
- 【KMP】KMP算法模板
- KMP hihoCoder1015 KMP算法
- kmp算法
- KMP算法
- KMP算法
- KMP算法
- KMP算法
- KMP 算法
- kmp算法
- KMP算法
- kmp算法
- KMP算法
- KMP算法
- kmp算法
- kmp算法
- codeforces Police Recruits
- HDU 4349 && POJ 3219 Lucas有趣应用c
- 数据结构 总结
- POJ 1789 Kruskal
- Linux下Tomcat的启动、关闭
- KMP算法程序
- 51nod贪心例子独木舟问题
- BestCoder Round #65 1001 ZYB's Biology HDU5590
- 操作系统概念(第十章) 文件系统接口
- codeforces Prison Transfer
- DM8168在屛幕上添加图标
- IOS实现多个View的切换
- 黑马程序员——方法重写(覆盖)与重载
- 应修改selinux参数导致Kernel panic -not syncing:Attempted to kill init