在Boyer-Moore string search algorithm wiki 链接中,表明Boyer-Moore的最坏情况复杂性
但在String Search Algorithm wiki中,据说Boyer-Moore的最坏情况复杂性为 O(n) 。为什么会出现这种差异?
Here在最坏的情况下也被称为O(mn)。
那么Boyer-Moore算法的正确运行时复杂度是多少?
答案 0 :(得分:2)
差异来自不同的定义。在一般字符串搜索页面中,算法复杂性被分解为预处理和匹配,而算法本身的页面没有区别。
预处理将为Θ(m + k)加O(n)进行匹配。