字符串::find在c++中使用了哪种算法

Which algorithm is used by string::find in c++?

本文关键字:算法 find c++ 字符串      更新时间:2023-10-16

我需要在给定的字符串中搜索子字符串。C++为此提供了库函数"find"。这个库函数使用的算法是什么?为了进行竞争性编程,我应该使用这个函数还是使用KMP搜索算法?

通过快速搜索,我发现了以下内容:

  • KMP是O(n + k)
  • 查找为O(n * k)

所以KMP是一种更快的搜索算法。

C++字符串::查找复杂度

Knuth–Morris–Pratt算法