字符串::find在c++中使用了哪种算法
Which algorithm is used by string::find in c++?
我需要在给定的字符串中搜索子字符串。C++为此提供了库函数"find"。这个库函数使用的算法是什么?为了进行竞争性编程,我应该使用这个函数还是使用KMP搜索算法?
通过快速搜索,我发现了以下内容:
- KMP是
O(n + k)
- 查找为
O(n * k)
所以KMP是一种更快的搜索算法。
C++字符串::查找复杂度
Knuth–Morris–Pratt算法
相关文章:
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 为什么这个运算符<重载函数对 STL 算法不可见?
- 基于ELO的团队匹配算法
- C++选择排序算法中的逻辑错误
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- C++A*算法并不总是在路径中具有目标节点
- 排序算法c++
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 算法问题:查找从堆栈中弹出的所有序列
- 下面是排序算法O(n)吗
- 使用.find函数在c++中查找字符和另一个字符之间的大小
- KMP算法和LPS表构造的运行时间
- 为什么我的排序算法会更改数组值
- 求最大元素位置的分治算法
- 字符串::find在c++中使用了哪种算法
- find()stl算法..我在做什么错
- 在 c++ stl map.find() 中使用了什么算法
- 在 LLVM libc++ 中找到的 string::find 中实现的算法(及其复杂性)是什么?
- 需要帮助理解std::find算法