#include#include#include#includeusing namespace std;int Next[100005];void getnext(const char *W,int *next){ int j=0,k=-1; next[0]=-1; while(!j || W[j]...
分类:
其他好文 时间:
2014-11-15 23:06:24
阅读次数:
195
Kmp算法我是看July博客学习,这里只是做个笔记,详细内容见July的blog:
http://blog.csdn.net/v_july_v/article/details/7041827
Kmp算法的用途:有一个文本串S和一个模式串P,现在要查找P在S中的位置。暴力匹配算法需要对文本串S进行回溯,kmp算法就是让文本串不回退,只需要移动模式串j即可。
Kmp算法大体思想:就是当s...
分类:
编程语言 时间:
2014-11-14 22:51:19
阅读次数:
283
串结构练习——字符串匹配Time Limit: 1000MS Memory limit: 65536K题目描述给定两个字符串string1和string2,判断string2是否为string1的子串。输入输入包含多组数据,每组测试数据包含两行,第一行代表string1,第二行代表string2,s...
分类:
编程语言 时间:
2014-11-14 22:32:36
阅读次数:
239
题目地址:1282. Computer Game思路: KMP算法,网上有很多资料,参考了一些网上的解题,收获很大,很感谢那些大神们!!! 通过这道题简单说说我对KMP算法的理解吧(大神们勿喷,虽然没人看我的orz~~~~囧)。 首先输入的是要匹配的字符串,如果这个字符串的首字母在整个字符串不...
分类:
其他好文 时间:
2014-11-14 21:00:22
阅读次数:
137
Implement strStr().Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.这个题应该就是求子串的问题,改进的方法是kmp算法。...
分类:
其他好文 时间:
2014-11-14 19:36:52
阅读次数:
254
next数组的应用
#include
#include
#include
#include
#include
#include
#include
#include
#define L(x) (x<<1)
#define R(x) (x<>1)
#define eps 1e-8
using namespace std;
#de...
分类:
其他好文 时间:
2014-11-14 17:46:33
阅读次数:
199
#include
#include
#include
#define N 10010
#define M 1000100
using namespace std;
int next[N];
char s[M],t[N];
void getnext(char s[])
{
int i=0,j=-1,len;
next[0]=-1;
len=strlen(s);
while(i<len)...
分类:
其他好文 时间:
2014-11-12 23:00:17
阅读次数:
249
给定串S和T,求S的每一个后缀和T的最长公共前缀。方法1:暴力算法,时间复杂度O(n^2);方法2:后缀数组,利用height的性质可以求出该问题,时间复杂度为O(n),但是预处理为O(nlogn)方法3:扩展KMP,充分利用已经匹配过的性质,降低匹配的时间,时间复杂度为O(n)学习资料:http:...
分类:
其他好文 时间:
2014-11-11 18:16:53
阅读次数:
248
从头到尾彻底理解KMP作者:July时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。1. 引言 本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得非常混乱,如此,留言也是“骂声”一片。所以一直想找....
分类:
其他好文 时间:
2014-11-10 17:05:12
阅读次数:
348
首先我们来看一下字符串的朴素匹配.
可以想象成把文本串s固定住,模式串p从s最左边开始对齐,如果对齐的部分完全一样,则匹配成功,失败则将模式串p整体往右移1位,继续检查对齐部分,如此反复.
#朴素匹配
def naive_match(s, p):
m = len(s); n = len(p)
for i in range(m-n+1):#起始指针i
if s[i...
分类:
编程语言 时间:
2014-11-10 12:04:51
阅读次数:
180