Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
string.h中strncmp的复杂性_C_String_Time Complexity_Strncmp - Fatal编程技术网

string.h中strncmp的复杂性

string.h中strncmp的复杂性,c,string,time-complexity,strncmp,C,String,Time Complexity,Strncmp,我想知道C库(string.h)中的int-strncmp(const-char*\uuu-s1,const-char*\uu-s2,size\u-t\uu-n)的时间复杂度 我必须研究我的整个程序的复杂性,它需要调用数千次strncmp,我不能忽视这个复杂性。 在哪里可以找到有关c库函数复杂性的文档?该标准对复杂性没有任何要求。这完全取决于执行情况。但是绝对没有理由期望它是除了O(\uu\n) 编写一个满足O(\uu n)的实现是很简单的,因此没有理由怀疑由专业人员实现的真正实现更糟糕 编

我想知道C库(
string.h)
中的
int-strncmp(const-char*\uuu-s1,const-char*\uu-s2,size\u-t\uu-n)的时间复杂度

我必须研究我的整个程序的复杂性,它需要调用数千次strncmp,我不能忽视这个复杂性。

在哪里可以找到有关c库函数复杂性的文档?

该标准对复杂性没有任何要求。这完全取决于执行情况。但是绝对没有理由期望它是除了
O(\uu\n)

  • 编写一个满足
    O(\uu n)
    的实现是很简单的,因此没有理由怀疑由专业人员实现的真正实现更糟糕

  • 编写一个比
    O(\uu\n)
    更好的实现是不可能的,所以这不会发生


但是,如果你想确定,你必须研究你正在使用的特定实现。

你可以考虑一个字符后一个字符比较的线性操作,自己得出答案。字符比较中strcmp的时间复杂度是
O(k)
其中
k
是公共前缀的长度,最大为n,和
k