/** simpleIndex.cpp* Author: Qiang Xiao* Time: 2015-07-13*/#include#includeusing namespace std;int simpleIndex(const string&, const string&, int...
分类:
编程语言 时间:
2015-07-13 18:17:25
阅读次数:
122
package org.loda.string;
import org.junit.Assert;
/**
*
* @ClassName: NaiveStringMatcher
* @Description: 朴素字符串查找
*
* text:abcabaabcabac
* pattern:abaa...
分类:
编程语言 时间:
2015-07-13 12:28:20
阅读次数:
138
KMP算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。
KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。即确定下一次应该从那个位置重新开始匹配。
char*obj = "cbcba";
char*src = "sdcbcbcb...
分类:
编程语言 时间:
2015-07-11 09:19:17
阅读次数:
250
对于leetcode上这个题目,我用了不少时间来消化。
题目大意如下:
实现两个字符串s,t的匹配,其中t字符串中的
‘.’ 能匹配任何一个字符.
‘*’ 能充当0个或者多个前面一个字符.
匹配结果要覆盖整个字符串
几个例子:
isMatch(“aa”,”a”) → false
isMatch(“aa”,”aa”) → true
isMatch(“aaa”,”aa”) → f...
分类:
其他好文 时间:
2015-07-08 16:29:00
阅读次数:
94
询问Time Limit:2000MSMemory Limit:65536KBTotal Submit:286Accepted:70DescriptionPollux最近对字符串匹配很感兴趣,他渐渐发现一个有趣的函数,并且他觉得利用这个函数或许可以建立一种新的匹配算法:对于字符串S[1…n]和i∈[...
分类:
其他好文 时间:
2015-07-08 16:21:23
阅读次数:
131
串的定义串是由零个或多个字符组成的有限序列,又名叫字符串串中的字符数目n称为串的长度零个字符的串称为空串串的抽象数据类型串的顺序存储结构串我链式存储结构一个结点可以存储一个字符也可以考虑存储多个字符,最后一个结点若是未被占满时,可以用#或其它非串值字符补全朴素的模式匹配算法对主串的每一个字符作为子串...
分类:
其他好文 时间:
2015-07-05 22:26:35
阅读次数:
160
24、蛤蟆的数据结构笔记之二十四串的模式匹配算法
本篇名言:“燧石受到的敲打越厉害,发出的光就越灿烂。 --
马克思”
来看下两个算法,BF和KMP算法在串的模式匹配中实现。
欢迎转载,转载请标明出处:
1. BF算法
BF(Brute Force)算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行...
分类:
编程语言 时间:
2015-07-05 09:42:56
阅读次数:
194
/*字符串匹配*/
#include
using namespace std;
void get_next(string T,int *next)
{//朴素算法
int i,j;
i=1;
j=0;
next[1]=0;
while(i<T.length())
{
if(j==0 || T[i]==T[j])
{
i++;
j++;
next[i]=j;
...
分类:
编程语言 时间:
2015-07-01 18:22:16
阅读次数:
140
#KMP字符串匹配算法及next前缀数组的应用------KMP算法通常是我们学习字符串匹配算法时遇见的第一个算法,另外还有Rabin-Karp, Sunday算法等. 相对于其他字符串匹配算法, kmp在字符串中字符重复率低的情况下并不具备优势,那为什么KMP算法会作为经典的教学算法呢?原因可能是...
分类:
编程语言 时间:
2015-06-25 19:18:37
阅读次数:
242
算法
1 从第一个字符开始扫描
2 当遇见普通字符时候忽略,遇见做字符压入栈。
3 当遇见右符号时候从栈中弹出栈顶符号
匹配成功,继续读入下一字符
匹配失败,立即停止并报错
成功:所有字符扫描完毕,且栈为空
失败:匹配失败或者所有字符扫描完毕但栈不是空的。
伪代码:
int scanner(const char* code)
{
创建栈;...
分类:
其他好文 时间:
2015-06-08 01:03:25
阅读次数:
130