标签:
■朴素的模式匹配算法(Brute-Force,BF算法,蛮力算法)-换下一个,从头再来。
模式匹配的最原始想法,从目标串T的的第一个字符开始与模式串P的第一个字符开始进行比较,如果相等,则继续对后续的字符进行比较,否则目标串T从第二个字符开始与模式串P的第一个字符重新比较,直至模式串P中的每个字符依次和目标串T中的一个子串相等为止,此时称为匹配成功,否则匹配失败。
如果模式串P的长度是m,目标串T的长度是n,假设最坏的情况是每遍比较都在最后出现不等,即每遍最多比较m次,最多比较n-m+1遍,总的比较次数最多为m(n-m+1),因此朴素的模式匹配算法的时间复杂度为O(mn)。由于朴素的模式匹配算法的效率不高,在实际应用中很少使用,但易于理解。
下面给出作为垫脚石的Java实现。
http://www.oschina.net/code/snippet_660460_48305
标签:
原文地址:http://my.oschina.net/u/660460/blog/419909