字符串匹配指有一个文本串S和一个模式串P,现在要查找P在S中的位置。
主要有以下算法:
其中朴素算法和KMP算法我们在这边blog
http://blog.csdn.net/lu597203933/article/details/41124815中已经讲解过。RP算法时间复杂度较高,我也没看,想看可以看算法导论。这里主要讲解有限自动机的字符串匹配算法。
有限自动机的定义:...
分类:
编程语言 时间:
2015-03-13 20:48:27
阅读次数:
158
题意:求一个文章(长度5.1e6)里面出现了多少个指定的模式串。重复出现只记一次。而且如果两个模式串都出现的情况下,一个是另一个的子串,则该子串不算出现过。分析:AC自动机。由于子串不算所以加一些特殊处理:1.在文章匹配过程中,如果出现了一个模式串我们不是把匹配数量+1,而是记录那个出现过vis[i...
分类:
其他好文 时间:
2015-03-12 11:16:17
阅读次数:
127
KMP的next数组,对于next[i],是:1~i-1的最长的匹配的前缀和后缀的长度(也即在i位置匹配失败后,应该跳到的模式串的位置)然后我们将所有满足要求的字串按照它的末尾位置分类。 1 #include 2 #include 3 #define M 10007 4 #define maxn.....
分类:
其他好文 时间:
2015-03-10 22:53:58
阅读次数:
216
开始补坑。kmp中的fail数组fail[i]是指“当模式串的i位置匹配失败时,应该再用模式串的fail[i]位置匹配“ 1 #include 2 #include 3 #define maxn 100010 4 5 char aa[maxn*2], bb[maxn], cc[maxn]; 6...
分类:
其他好文 时间:
2015-03-10 21:06:55
阅读次数:
221
部分内容引用http://blog.csdn.net/v_july_v/article/details/70418271、暴力匹配算法假设现在我们面临这样一个问题:有一个文本串S,和一个模式串P,现在要查找P在S中的位置,怎么查找呢? 如果用暴力匹配的思路,并假设现在文本串S匹配到 i 位置,模式....
分类:
编程语言 时间:
2015-03-10 11:40:59
阅读次数:
166
复习串的朴素模式匹配算法模式匹配 :子串定位运算,在主串中找出子串出现的位置。在串匹配中,将主串 S 称为目标(串),子串 T 称为模式(串)。如果在主串 S 中能够找到子串 T, 则称匹配成功,返回 第一个 和 子串 T 中 第一个字符 相等 的 字符 在主串S 中的 序号,否则,称匹配失败,返回...
分类:
编程语言 时间:
2015-03-09 09:18:26
阅读次数:
333
一 简介KMP算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。二 基于部分匹配表的KMP算法举例来说,有一个字符串”BBC ABCDAB ABCDABCDABDE”,我想知道,里面是否包含搜索串...
分类:
编程语言 时间:
2015-03-01 19:48:12
阅读次数:
153
这题应该是用输入的模式串应该是可以有多个相同的,所以有count++,而且有一个地方是if(temp->count>0) //>0是必须的。 { cnt+=temp->count; temp->count=0; ...
分类:
其他好文 时间:
2015-02-28 22:59:08
阅读次数:
180
之前有篇文章([算法系列之二十]字典树(Trie))我们详细的介绍了字典树。有了这些基础我们就能更好的理解后缀树了。一 引言 模式匹配问题给定一个文本text[0…n-1], 和一个模式串 pattern[0…m-1],写一个函数 search(char pattern[], char text[]), 打印出pattern在text中出现的所有位置(n > m)。这个问题已经有两个经典的算法:...
分类:
编程语言 时间:
2015-02-27 20:16:41
阅读次数:
192
这道题是字符串匹配,用的Sunday算法[1],边界条件是模式串和原串为空的情况。[1]字符串匹配算法 – Sunday算法 - 如斯夫 - 博客园 http://www.cnblogs.com/lbsong/archive/2012/05/25/2518188.html代码如下:class Sol...
分类:
其他好文 时间:
2015-02-25 15:35:45
阅读次数:
138