题目链接:uva 1462 - Fuzzy Google Suggest
题目大意:模拟google的模糊搜索,给定给一个字符串集合,然后有n次搜索,每次有一个整数x和一个字符串,表示可以对字符串进行x次修改,包括增加、修改和删除一个字符,问修改后的字符可能是字符集中有多少个字符串的前缀。
解题思路:先建立字典树,对于每次搜索,在字典树上进行dfs,根据参数x和字符串匹配的位置进行处理...
分类:
其他好文 时间:
2014-09-04 22:18:30
阅读次数:
223
首先需要了解一下BF暴力匹配算法,这个算法为每一个串设置一个指针,然后两个指针同时后移,出现不匹配的情况后,主串指针回到开始后移之前的位置的下一位,模式串指针回到最开始。
对比一下KMP算法,同样是设置两个指针,然后两个指针同时后移,出现不匹配的情况后,主串指针不变,模式串指针回溯一定的距离。具体模式串指针回溯多少,是第一次看KMP算法的人比较难以理解的,其实仔细想想,模式串的前缀和后缀其实也是...
分类:
其他好文 时间:
2014-09-03 11:21:16
阅读次数:
136
KMP算法是一种改进的字符串匹配算法。适用于模式串P有循环重复段的情况下。 原理: 主串 S:S1, S2, …, …, …, …, …, …, Si-k+1, …, Si-1, Si 模式串P:(P1, P2, …, Pk-1,) Pk, …, (Pj-k+1, …, Pj-1,) Pj Pj与S...
分类:
其他好文 时间:
2014-08-30 13:49:09
阅读次数:
221
KMP算法是一种改进的字符串匹配算法。适用于模式串P有循环重复段的情况下。原理:主串 S:S1, S2, …, …, …, …, …, …, Si-k+1, …, Si-1, Si模式串P:(P1, P2, …, Pk-1,) Pk, …, (Pj-k+1, …, Pj-1,) PjPj与Si不匹配...
分类:
其他好文 时间:
2014-08-29 17:59:38
阅读次数:
187
本文通过简单的事例阐述字符串对比的算法思想,并用java给予实现。该算法可以用于求两个字符串的子串、最大子串等。...
分类:
编程语言 时间:
2014-08-29 14:40:28
阅读次数:
216
JS 验证正则表达式-常用方法javascript所支持的正则表达式常用的六种方法:test(),exec(),match(),search(),replace()和split(). 其中前两者属于RegExp类的方法后,其余属于string类的方法.test()方法:如果给定的字符串匹配该正则的模...
分类:
Web程序 时间:
2014-08-27 12:21:52
阅读次数:
293
第一章 正则表达式概述正则表达式(Regular Expression)起源于人类神经系统的研究。正则表达式的定义有以下几种:l 用某种模式去匹配一类字符串的公式,它主要是用来描述字符串匹配的工具。l 描述了一种字符串匹配的模式。可以用来检查字符串是否含有某种子串、将匹配的子串做替换或者从中取出符合...
分类:
其他好文 时间:
2014-08-26 15:15:36
阅读次数:
264
最近在研究一些字符串匹配算法,也是由于工作上的需要,强力推荐一本书《柔性字符串匹配》,一本很好的书。网上可以随时搜索到。还是说正题吧。我的前几天研究了一下多模式匹配算法,选了Aho-Corasick算法,因为这个比较基础,相比其他多模式匹配算法其要容易理解的多。所以,现在简单总结一下书上的内容,.....
分类:
其他好文 时间:
2014-08-23 18:52:51
阅读次数:
348
最近在研究一些字符串匹配算法,也是由于工作上的需要,强力推荐一本书《柔性字符串匹配》,一本很好的书。网上可以随时搜索到。还是说正题吧。BNDM算法的思想来源于BDM算法思想,类似于shitf-and和kmp之间的区别吧(也不知道是不是准确,有错望大家多指点)。前者都是用位运算模拟后者。好了,那就.....
分类:
其他好文 时间:
2014-08-22 22:26:09
阅读次数:
296