字符串匹配
文章平均质量分 91
tyler_download
这个作者很懒,什么都没留下…
展开
-
字符串匹配算法之:有限状态自动机
本章描述了如何构造一个用于字符串匹配的有限状态自动机,依赖该自动机,可以在O(n)的时间复杂度内,判断文本T是否包含字符串P原创 2016-09-15 19:04:52 · 27333 阅读 · 12 评论 -
面试算法之字符串匹配算法,Rabin-Karp算法详解
既然谈论到字符串相关算法,那么字符串匹配是根本绕不过去的坎。在面试中,面试官可能会要你写或谈谈字符串的匹配算法.字符串匹配算法有多种,每种都有它的优点和缺陷,没有哪一种算法是完美无缺的。如果在面试中被问到这个问题,最好的处理方法是先详细的给出一个具体算法,然后再去大概的探讨其他方法的优劣,做到这一点,通过的胜算就相当大了,由此,我们需要了解主流的字符串匹配算法原创 2016-09-08 10:15:30 · 9106 阅读 · 3 评论 -
KMP算法,字符串匹配算法的巅峰创意
KMP算法,全称是Knuth-Morris-Pratt 算法,该算法几乎是所有字符串匹配算法中效率最高,实现最简单,思维最巧妙的算法。它的设计充分说明了大道至简的原理,问题的解决办法往往是简单而精致的,就像爱因斯坦的能量方程:E = M$C^2$.在分析KMP算法前,我们先看看最简单的暴力匹配法,暴力匹配法的思路很简单,逐个字符比对,当某一个字符比对不上时,往后挪一个字符,然后继续比对。原创 2016-10-13 20:59:40 · 1661 阅读 · 0 评论 -
字符串匹配自动机的算法原理
上一节,我们知道,如何构造一个有限状态机,用于字符串匹配,我们只给出了怎么做,这一节,我们详细说明一下,为什么要这么做,我们要从数学上验证上一节我们给出的算法逻辑是经得起考验的。原创 2016-09-29 11:31:48 · 3830 阅读 · 1 评论 -
KMP算法的效率分析
上一节,我们研究了KMP算法的实现原理,这节,我们从分析的角度看看KMP算法的时间复杂度,通过分析证明,我们代码对算法的实现,是能保证线性复杂度的原创 2016-10-20 12:55:12 · 3329 阅读 · 0 评论