- 博客(4)
- 收藏
- 关注
转载 ac状态机
<br />1、概述<br />Aho-Corasick自动机算法(简称AC自动机)1975年产生于贝尔实验室。该算法应用有限自动机巧妙地将字符比较转化为了状态转移。此算法有两个特点,一个是扫描文本时完全不需要回溯,另一个是时间复杂度为O(n),时间复杂度与关键字的数目和长度无关。<br />好了,我们先看下最原始的多模式匹配算法:<br />主串T,n=strlen(T)。<br />模式串Pi mi = strlen(pi)<br /> view plaincopy to clipboardprint?
2011-01-19 14:15:00 3807
转载 BM算法原理
首先,先简单说明一下有关BM算法的一些基本概念。BM算法是一种精确字符串匹配算法(区别于模糊匹配)。BM算法采用从右向左比较 的方法,同时应用到了两种启发式规则,即坏字符规则 和好后缀规则 ,来决定向右跳跃的距离。BM算法的基本流程: 设文本串T,模式串为P。首先将T与P进行左对齐,然后进行从右向左比较 ,如下图所示: 若是某趟比较不匹配时,BM算法就采用两条启发式规则,即坏字符规则 和好后缀规则 ,来计算模式串向右移动的距离,直到整个匹配过程的结束。 下面,来详细介绍一下坏字符规则 和好后
2011-01-19 09:58:00 1244
转载 字符串哈希
常用的字符串Hash函数还有ELFHash,APHash等等,都是十分简单有效的方法。这些函数使用位运算使得每一个字符都对最后的函数值产生影响。另外还有以MD5和SHA1为代表的杂凑函数,这些函数几乎不可能找到碰撞。常用字符串哈希函数有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等。对于以上几种哈希函数,我对其进行了一个小小的评测。 Hash函数数据1数据2数据3数据4数据1得分数据2得分数据3得分数据4得分平均分
2011-01-18 22:19:00 526
原创 开篇
<br /> 误打误撞这个行业已经半年了。四年前,我告诉自己不要进入计算机行业,那时来自农村的我连键盘都不怎么会使用。然命运使然吧,毕业后我进入了一家不错的计算机公司。还记得6个月前入司培训那会,讲师在上面在讲得津津有味,底下的我是全然不知所云。后来我发了两个礼拜的时间把CCNA培训指南给看完了。即使这样,也才勉强逃过了被淘汰的检验考试。一路跌跌撞撞,有太多的侥幸在这里面。但人生究竟不会有太多的侥幸,浅薄终究将会暴露。太多的东西对于我这个非计算机专业的人来说要好学习了。该是好好学习的时候了,既
2011-01-18 22:14:00 351
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人