gpt4 book ai didi

c++ - C++23 中 std::string::contains 的时间复杂度是多少?

转载 作者:行者123 更新时间:2023-12-04 00:50:58 31 4
gpt4 key购买 nike

cppreference 说 std::string::contains 出来了, https://en.cppreference.com/w/cpp/string/basic_string/contains

但没有运行时要求。是否保证在线性时间内运行? (比如,在实现中使用 KMP 算法)还是二次时间?

我试图在当前的 C++ 标准草案 ( http://open-std.org/jtc1/sc22/wg21/docs/papers/2020/n4849.pdf ) 中找到它,但找不到引用。

最佳答案

经过 the most recent draft包含是:

Equivalent to:

return basic_string_view<charT, traits>(data(), size()).contains(x);

随着string_view function being :

Equivalent to: return find(x) != npos;

由于使用 basic_string_view::npos 对整数进行相等性测试是一个常量时间操作,因此时间复杂度 will be that of basic_string_view::find :

Member functions in this subclause have complexity O(size() * str.size()) at worst, although implementations should do better.

关于c++ - C++23 中 std::string::contains 的时间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66718387/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com