题目链接题目意思: 给出两个字符串a, b, 求最长的公共字串c, c是a的后缀,也是b的前缀.
本题没有具体说明哪个字符串是文本串和匹配串, 所以都要考虑思路: 查找的时候, 当文本串结束的时候, 返回匹配串的位置, 即为c的长度.附上代码: 1
/************************...
分类:
其他好文 时间:
2014-05-15 20:50:22
阅读次数:
385
贴代码不是目的,讲解算法才是关键!!。解题的思路是使用了 KMP 算法,然而把并不是完整的KMP算法。只用到了它的next数组的求法。然而这正是KMP算法本身的关键所在。这里关键在于讲解next数组的思想。
在漫天飞的网络资料中,next数组的表示方法大致有两种:...
分类:
其他好文 时间:
2014-05-15 06:10:56
阅读次数:
287
又好又难的题。
我发现难题一般都包含了好几个简单题,必须对一些基本的算法熟练掌握才能快速准确的写出代码。这个题就用到了kmp,这个算法写过好多遍,还是不断的出错,哎。
题目中有两种符号,?可以匹配任意单个字符,*可以匹配任意0个或多个字符。?其实没什么,麻烦就麻烦在*上。一个*实际上代表了一段任意的字符串。很容易想到的一种解法是用递归,当p[i]不为*时,看p[i]是不是'?'或者p[i]==...
分类:
其他好文 时间:
2014-05-15 04:19:36
阅读次数:
265
Implement strStr().Returns a pointer to the
first occurrence of needle in haystack, or null if needle is not part of
haystack.此题我觉得并不是真要你写出kmp算法。 指针暴力...
分类:
其他好文 时间:
2014-05-15 01:49:42
阅读次数:
330
当kmp在母串中匹配到子串之后,删去子串相当于把失配指针往回退到匹配位置的前一个,如果只回退一次的话,直接用数组就可以处理失配指针了,但是本题可能删除后存在多个子串,所以用栈把失配指针位置先存起来,然后找到一次把len长度的失配指针删去,然后栈顶元素就是第一句话说的回退出匹配位置的前一个了。
为了方便调用函数,把以前的kmp改成了接口,方便使用,这样就不用开全局变量的数组了,代码看起来更符合工作...
分类:
其他好文 时间:
2014-05-14 20:20:53
阅读次数:
362
本段程序实现串的存储结构是采用堆的动态分配存储表示,并实现了几乎所有常用的串的配套函数
其中逻辑性比较强的就是串的模式匹配算法,在下面的程序中,分别用BF算法和KMP算法对其进行了
实现。
#include
using namespace std;
struct HString
{
HString()
{
ch = 0;
length = 0;
}
char * ch;//...
分类:
编程语言 时间:
2014-05-14 01:12:35
阅读次数:
378
KMP算法在介绍KMP算法之前,先介绍一下BF算法。一.BF算法
BF算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串P的第一个字符进行匹配,若相等,则继续比较S的第二个字符和P的第二个字符;若不相等,则比较S的第二个字符和P的第一个字符,依次比较下去,直到得出最后的匹配结...
分类:
其他好文 时间:
2014-05-10 23:26:37
阅读次数:
453
AC自动机简介:首先简要介绍一下AC自动机:Aho-Corasick
automation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过。要搞懂AC自动机,先得有字典树Trie和KMP模...
分类:
其他好文 时间:
2014-05-10 23:24:41
阅读次数:
455
KMP 总结1.strstr函数|函数名: strstr|功 能:
在串中查找指定字符串的第一次出现 |用 法: char *strstr(char *str1, char
*str2);|据说strstr和KMP的算法效率差不多|注意:返回的是该字符串第一次出现时的指针,所以如果要计算下标,可以用...
分类:
其他好文 时间:
2014-05-10 02:59:16
阅读次数:
409
题意:给一个字符串,计算所有前缀在字符串中出现的次数和。
解法:KMP计算出Next数组后,每个位置的Next数组不断往前递归,每次相应前缀次数就加1.
代码:/******************************************************
* author:xiefubao
************************************...
分类:
其他好文 时间:
2014-05-09 06:24:04
阅读次数:
302