【问题标题】:Boyer-Moore string search algorithm run time complexityBoyer-Moore 字符串搜索算法运行时间复杂度
【发布时间】:2016-01-04 01:11:14
【问题描述】:

Boyer-Moore string search algorithm wiki 链接中,说明 Boyer-Moore 的最坏情况复杂度为

  1. O(m+n) 如果模式没有出现在文本中
  2. O(mn) 如果模式确实出现在文本中

但在String Search Algorithm wiki 中,Boyer-Moore 的最坏情况复杂度是 O(n)。为什么会出现这种差异?

Here 在最坏的情况下也是 O(mn)。

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

【问题讨论】:

  • 至少拼写一致!
  • 也是您引用的第一个链接表“据说 Boyer-Moore 的最坏情况复杂度是 O(n)。”有 2 列.... ...

标签: string algorithm pattern-matching boyer-moore


【解决方案1】:

区别来自不同的定义。在一般的字符串搜索页面中,算法的复杂性分为预处理和匹配,而算法页面本身并没有区分。

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

【讨论】:

  • 那里的k是什么?
猜你喜欢
  • 2018-11-29
  • 1970-01-01
  • 1970-01-01
  • 2012-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多