KMP算法在最佳情况下的最小比较次数是多少?
答案 0 :(得分:4)
当您要查找的字符串位于文本字符串的开头时,会出现最佳情况。在这种情况下,如果您要在k
字母字符串中查找n
个字母字符串,则最佳情况下的比较次数为k
。
您还必须根据k
字母单词计算表格的开销,这样您就可以在找不到匹配项时知道要跳过哪些字母。无论如何,这种结构都是在O(k)
中完成的。
答案 1 :(得分:1)
嗯,最佳情况下的最小比较次数将是字符串的长度,这意味着您首先尝试匹配。该算法是O(n),意味着上限或最坏情况将采用n比较,其中n是您正在搜索的字符串的长度。维基很不错。 http://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm