/*BF算法,即普通模式匹配算法,将字符串与标准模板进行一位一位匹配,
* 一旦失败,就将字符串第一个字符去掉,重新匹配*/
package pack;
import java.util.Scanner;public class Main { static int count = 0; //存放匹配的位数 public static void main(String[] args)...
分类:
编程语言 时间:
2015-04-29 10:03:24
阅读次数:
190
DescriptionThe French author Georges Perec (1936–1982) once wrote a book, La disparition, without the letter'e'. He was a member of the Oulipo group. ...
分类:
编程语言 时间:
2015-04-20 22:27:58
阅读次数:
194
import java.util.Scanner;
//简单模式匹配
public class PatternMatch {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入第一个字符串!");
String mainStr...
分类:
其他好文 时间:
2015-04-09 17:36:55
阅读次数:
142
字符串上的操作
*今天来总结一下关于串的问题,串包括字符串和数组
*这里一字符串为例:现在来有关字符串的一些算法
*1、逆转字符串revstr(s)
*2、求字符串中的最长回文子串lhw(s)
*3、求字符串的最长前缀的最长后缀lpre_Lpos(s)
*4、求字符串的最长前缀的最长后缀的优美的方法和得到next的数组getnext(s,next)
*5、朴素的字符串的模式匹配算法BF...
分类:
其他好文 时间:
2015-03-28 00:00:05
阅读次数:
380
串的模式匹配算法
子串的定位操作通常称为串的 模式匹配,其中T称为 模式串。
一般的求子串位置的定位函数(Brute Force)我写java的代码是这样的int index(String S,String T,int pos){
char[] s_arr = S.toCharArray();
char[] t_arr = T.toCharArray();...
分类:
编程语言 时间:
2015-03-15 18:28:53
阅读次数:
267
复习串的朴素模式匹配算法模式匹配 :子串定位运算,在主串中找出子串出现的位置。在串匹配中,将主串 S 称为目标(串),子串 T 称为模式(串)。如果在主串 S 中能够找到子串 T, 则称匹配成功,返回 第一个 和 子串 T 中 第一个字符 相等 的 字符 在主串S 中的 序号,否则,称匹配失败,返回...
分类:
编程语言 时间:
2015-03-09 09:18:26
阅读次数:
333
KMP算法简介
KMP算法全称叫做Knuth-Morris-Pratt Algorithm。
被搜索的字符串称为主串,待搜索的字符串称为模式串。
我们知道朴素模式匹配算法:http://blog.csdn.net/chfe007/article/details/43448655是很低效的,KMP算法从模式串出发,发现模式串中隐藏的信息来减少比较的次数,具体如何做到的可以移步这个链接:http...
分类:
编程语言 时间:
2015-02-03 17:26:28
阅读次数:
159
被搜索的字符串称为主串,待搜索的字符串称为模式串。朴素模式匹配算法的基本思想:
对主串的每一个字符作为子串开头,与模式串进行匹配。对主串做大循环,每个字符开头做模式串长度的小循环,直到匹配成功或全部遍历完成为止。
代码实现非常简单:
int strStr(char *haystack, char *needle) {
for (int i = 0;...
分类:
编程语言 时间:
2015-02-03 15:12:54
阅读次数:
224
Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP算法”,常用于在一个文本串S内查找一个模式串P 的出现位置,这个算法由Donald Knuth、Vaughan Pratt、James H. Morris三人于1977年联合发表,故取这3人的姓氏命名此算法。整个KMP的重点就在于当某一个字符与主串不匹配时,我们应该知道j指针要移动到哪里。
如图:C和D不匹配了,我们要...
分类:
编程语言 时间:
2015-01-24 21:28:58
阅读次数:
253
实现功能——输入N,M,提供一个共计N个单词的词典,然后在最后输入的M个字符串中进行多串匹配(关于AC自动机算法,此处不再赘述,详见:Aho-Corasick 多模式匹配算法、AC自动机详解。考虑到有时候字典会相当稀疏,所以引入了chi和bro指针进行优化——其原理比较类似于邻接表,这个东西本身和n...
分类:
编程语言 时间:
2015-01-20 00:56:51
阅读次数:
186