随笔分类 -  字符串匹配

摘要:做了一个问题突然想到可以用Kmp解决,所以看了一下自己之前写的关于Kmp的博客用JAVA实现的KMP匹配子串,记录一下,省的又忘了。 /* *题目描述: * 假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。 * 请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s 阅读全文
posted @ 2016-03-09 20:48 代码的搬运工 阅读(283) 评论(0) 推荐(0)
摘要:今天做了一道题,要用判断一个字符串是否是另一个字符串的子串,于是查了一下strstr的实现。 代码如下: 从上面的GCC中strstr实现代码可以分析出,strstr的时间复杂度是O(n2)的(因为strncmp是O(N)的),不过对长字符串匹配子串上可以采用kmp算法来提高效率(时间复杂度为O(m 阅读全文
posted @ 2016-03-09 16:16 代码的搬运工 阅读(1281) 评论(0) 推荐(0)
摘要:自己实现了一个IP trie树接口. 在这里保存一下,方便备份以后使用,同时欢迎纠错和交流,希望有大神能指教更高效的算法. 1.头文件如下(iptrie.h) 2.c文件如下(iptrie.c) 3.main.c如下(测试程序) 4.Makefile (linux下编译) 阅读全文
posted @ 2016-01-14 16:20 代码的搬运工 阅读(570) 评论(0) 推荐(0)
摘要:最近一直在优化项目中字符串匹配的问题,于是就想起了自动机,之前也看过一些文章,一直没有实现,现在项目中要用,然后又看了一些关于AC自动机的文章,这里实现了一个简单的AC自动机的小接口,我是实现自动机状态结构采用了trie树,实现起来简单一些,但在一定程度上造成空间复杂度的增加,欢迎大家纠错和一起交流 阅读全文
posted @ 2015-09-09 11:07 代码的搬运工 阅读(636) 评论(0) 推荐(0)
摘要:原文出处:http://my.oschina.net/amince/blog/196426 原 荐 AC(Aho—Corasiek) 多模式匹配算法 摘要 如何在一篇文章中,搜索多个关键字,如何快速查找各关键字.本篇文章会介绍一种在一串字符串中匹配多个子串(不限于字符串)的多模式算法.下面会用到 K 阅读全文
posted @ 2015-09-06 18:53 代码的搬运工 阅读(621) 评论(0) 推荐(0)
摘要:kmp算法的理解与实现 博客分类: algorithms 算法 kmp算法的理解与实现 algorithms 算法 KMP算法曾被我戏称为看毛片算法,当时笑喷......大三那个时候硬着头皮把算法导论的kmp算法啃完,弄懂了kmp算法 的原理,甚至还写出了代码,这几天再次温习的时候,发现忘得比较彻底 阅读全文
posted @ 2015-08-25 18:39 代码的搬运工
摘要:kmp算法是一个效率非常高的字符串匹配算法,这篇文章是我看了一篇介绍kmp的算法的其他人的博客然后自己加上了理解和新的图解和自己实现的代码完成的,原作者的博文位置我找不到了,抱歉... kmp算法完成的任务是:给定两个字符串O和f,长度分别为n和m,判断f是否在O中出现,如果出现则返回出现的位置。常 阅读全文
posted @ 2015-08-25 10:58 代码的搬运工