Bag*_*uss 2 c++ complexity-theory
对不起,如果这是一个愚蠢的问题,但......
此代码的复杂度顺序为O(n):
char buf[] = "hello world";
size_t length = strlen(buf);
for(size_t i = 0; i < length; i++)
{
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
这段代码是O(n ^ 2):
char buf[] = "hello world";
for(size_t i = 0; i < strlen(buf); i++)
{
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
因为strlen是O(n).
但谁说strlen是O(n),它是否在标准中定义,是否必须是O(n)?
我怎么能确定任何标准函数的复杂性顺序是什么?