好久之前一直有种困惑,感觉计算机编程很难,是一个跨不过的坎,特别是利用相应的算法解决某个问题,排序,二叉树,红黑树,哈希算法,KMP模式匹配,一些列问题,毫无头绪,现在想想确实只有当你遇到实际问题域模型的时候自然而然就会驱动你去寻找一种解决方案,首先你先以你自己的方法解决这个问题,而不考虑处在计算机的角度来思考,以我们人类特有的思维能力解决它,然后思考一下这个方案的可行性,比如是否能在一分钟,一个...
分类:
其他好文 时间:
2014-09-14 23:42:02
阅读次数:
222
今天又把KMP算法看了一遍,特此小结。扯淡的话:KMP算法主要用来模式匹配。正如Implement strStr()中形容的一样,“大海捞针”,当时看到题中变量如此命名,真的感觉实在是再贴切不过了。在介绍KMP算法之前,先介绍一下BF算法,叫的这么暧昧(who is GF?),其实就是最low的暴力...
分类:
其他好文 时间:
2014-09-14 23:26:31
阅读次数:
445
约翰的N(1≤N≤100000)只奶牛中出现了K(1≤K≤25000)只爱惹麻烦的坏蛋.奶牛们按一定的顺序排队的时候,这些坏蛋总会站在一起.为了找出这些坏蛋,约翰让他的奶牛排好队进入牛棚,同时需要你的慧眼来识别坏蛋,为了区分,约翰给所有奶牛都发了号牌,上面写着一个1..S(1≤S≤25)之间的数字....
分类:
其他好文 时间:
2014-09-14 15:14:37
阅读次数:
247
Trie树,又称字典树,单词查找树。它来源于retrieval(检索)中取中间四个字符构成的。用于存储大量的字符串以便支持快速模式匹配。主要应用在信息检索领域。 Trie有三种结构:标准Trie(standard trie),压缩Trie,后缀Trie(suffix trie)。 1、标准Trie ...
分类:
其他好文 时间:
2014-09-14 14:06:37
阅读次数:
242
定义:设有主串S和子串t,子串的定位就是要在主串S中找到一个与子串t相等的子串。通常把主串S称作目标串,子串t称作模式串,因此定位也称作模式匹配。
常用两种算法:
1brute-force算法
思路:主串标记指针每次移动一个位置,然后和子串比较,如何相等则返回当前主串指针的位置。
模式匹配过程如图:
图略
上面算法的缺点:主串指针回溯,当与模式串部分匹配后,每次主...
分类:
其他好文 时间:
2014-09-11 12:33:21
阅读次数:
120
js 常用正则表达式表单验证代码作者: 字体:[增加 减小] 类型:转载js 常用正则表达式表单验证代码,以后大家就可以直接使用了。正则表达式使用详解简介简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下:测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串...
分类:
Web程序 时间:
2014-09-10 19:19:40
阅读次数:
337
1、非贪婪的重复:如"??" 、 "+?" 、 "*?" 、"{1,5}?" 例如: 非贪婪匹配 /a+?/去匹配aaa,尽可能的少匹配,只能匹配到第一个a, /a+/去匹配aaa,匹配到了aaa /a+b/去匹配aabb,匹配到aabb 而使用非贪婪匹配/a+?b...
分类:
编程语言 时间:
2014-09-10 19:16:50
阅读次数:
194
http://zh.wikipedia.org/wiki/AWK最简单地说,AWK是一种用于处理文本的编程语言工具只要在输入数据中有模式匹配,就执行一系列指令。该实用工具扫描文件中的每一行,查找与命令行中所给定内容相匹配的模式。如果发现匹配内容,则进行下一个编程步骤。如果找不到匹配内容,则继续处理下...
分类:
其他好文 时间:
2014-09-09 15:47:38
阅读次数:
179
String类型1.字符串的模式匹配方法 1) match(),与RegExp的exec()方法相同,也只接受一个参数,要么是一个正则表达式,要么是一个RegExp对象。var text = "cat,bat,fat,sat";var pattern = /.at/;var matches = t....
分类:
编程语言 时间:
2014-09-05 21:05:42
阅读次数:
200
Trie 树,又称字典树,单词查找树。它来源于retrieval(检索)中取中间四个字符构成(读音同try)。用于存储大量的字符串以便支持快速模式匹配。主要应用在信息检索领域。Trie 有三种结构: 标准trie (standard trie)、压缩trie、后缀trie(suffix trie)。...
分类:
其他好文 时间:
2014-09-05 09:56:01
阅读次数:
197