KMP在最坏情况下具有更好的性能,但实际上需要进行一些前期计算(以生成偏移表)。这 还 需要一个初始的内存分配,这也可能会影响性能。
对于(大概)在较短字符串中进行搜索的常见用例,这实际上可能比原始实现要慢。
这与以下事实捆绑在一起:对于非常庞大的数据集,您可能将使用更专业的数据结构,而不是简单的
String方法,这意味着增加的实现(可能还有运行时)成本不值得投资。
请注意,由于未指定实际算法,因此在将来的Java版本中这 可能会 更改。

KMP在最坏情况下具有更好的性能,但实际上需要进行一些前期计算(以生成偏移表)。这 还 需要一个初始的内存分配,这也可能会影响性能。
对于(大概)在较短字符串中进行搜索的常见用例,这实际上可能比原始实现要慢。
这与以下事实捆绑在一起:对于非常庞大的数据集,您可能将使用更专业的数据结构,而不是简单的
String方法,这意味着增加的实现(可能还有运行时)成本不值得投资。
请注意,由于未指定实际算法,因此在将来的Java版本中这 可能会 更改。