String Boyer-Moore字符串搜索算法运行时复杂性

String Boyer-Moore字符串搜索算法运行时复杂性,string,algorithm,pattern-matching,boyer-moore,String,Algorithm,Pattern Matching,Boyer Moore,在link中,指出Boyer-Moore的最坏情况复杂性是 O(m+n)如果文本中没有显示模式 O(mn)如果文本中出现图案 但在本文中,指出Boyer-Moore的最坏情况复杂性是O(n)。为什么会出现这种差异 在最坏的情况下,它也是O(mn) 那么Boyer-Moore算法的正确运行时复杂度是多少?不同的定义产生了差异。在通用字符串搜索页面中,算法的复杂性被划分为预处理和匹配,而算法页面本身并没有这样的区别 预处理将是Θ(m+k)加O(n)进行匹配。至少要一致地拼写它!还有第一个链接表,其中

在link中,指出Boyer-Moore的最坏情况复杂性是

  • O(m+n)如果文本中没有显示模式
  • O(mn)如果文本中出现图案
  • 但在本文中,指出Boyer-Moore的最坏情况复杂性是O(n)。为什么会出现这种差异

    在最坏的情况下,它也是O(mn)


    那么Boyer-Moore算法的正确运行时复杂度是多少?

    不同的定义产生了差异。在通用字符串搜索页面中,算法的复杂性被划分为预处理和匹配,而算法页面本身并没有这样的区别


    预处理将是Θ(m+k)加O(n)进行匹配。

    至少要一致地拼写它!还有第一个链接表,其中您引用了“据说Boyer-Moore的最坏情况复杂度为O(n)”,该表有两列……这两列并非单独使用。。。