摘要:
穷举的模式匹配算法时间代价:最坏情况比较n-m+1趟,每趟比较m次,总比较次数达(n-m+1)*m。复杂度为O(m*n)。原因在于每趟重新比较时,目标串的检测指针要回退,而这回退后再进行的计算很多是没必要。改进的模式匹配算法(KMP算法)可使目标串的检测指针不回退。总的比较次数最坏为n,求next函数的比较次数为m,所以总的时间复杂度为O(n+m)。 假设S串匹配到i位置,T串匹配到j位置,那么穷举法和KMP算法的区别就在于失配情况下所做的处理。我们的字符串下标从0开始。穷举法中,如果当前字符匹配,即S[i]=T[j],则令i++, j++,继续匹配下一个字符;如果失配,即S[i]!=T... 阅读全文
posted @ 2012-03-24 00:54
爱也玲珑
阅读(626)
评论(0)
推荐(0)

浙公网安备 33010602011771号