Извините, если это глупый вопрос, но ...
Порядок сложности этого кода O (n):
char buf[] = "hello world";
size_t length = strlen(buf);
for(size_t i = 0; i < length; i++)
{
//do stuff
}
и этот код O (n ^ 2):
char buf[] = "hello world";
for(size_t i = 0; i < strlen(buf); i++)
{
//do stuff
}
потому что strlen это O (n).
Но кто сказал, что strlen - это O (n), определено ли оно в стандарте, должно ли это быть O (n)?
Как узнать для уверен , каким будет порядок сложности любой стандартной функции?