c语言打印长度为m的字符串n次时间复杂度是多少?

时间复杂度到底是O(m*n)还是O(n),感觉有点触及底层,不是太明白,请大佬指点。(因为要写一个算法的问题,所以请给出准确的回答,谢谢)

这要看你循环的次数。 因为打印一个长度为m的字符串,有两种方式:
1
用字符串输出函数,如puts(str);或printf("%s\n",str);。则打印n次用一个循环就可以搞定:
for(i=0;i<n;i++)
puts(str);或printf("%s\n",str);
那时间复杂度就是:O(n)。
2
用字符输出函数,如:
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
putchar(str[j]);
putchar('\n');
}
那时间复杂度就是:O(n*m)。
事实上,求时间复杂度不需要考虑底层,只需要考虑主要循环的执行次数。追问

不对吧。。。不信你测下时间,两种方式跑完的时间几乎一样

追答

都说了不需要考虑底层,你这不是又扯上底层了吗?

追问

你总不可能说strlen,strcmp等函数时间复杂度也是O(1)吧。。。虽然仿佛我已经知道答案了

追答

如果你是在评价某个算法的优劣,那调用函数只需要一个语句,时间复杂度当然是O(1)。如果你是要评价这些函数使用的算法的优劣,就得拿函数的源码进行分析,时间复杂度当然就不是O(1)了。这不就是角度的问题吗。

温馨提示:内容为网友见解,仅供参考
无其他回答

c语言打印长度为m的字符串n次时间复杂度是多少?
这要看你循环的次数。 因为打印一个长度为m的字符串,有两种方式:1 用字符串输出函数,如puts(str);或printf("%s\\n",str);。则打印n次用一个循环就可以搞定:for(i=0;i<n;i++)puts(str);或printf("%s\\n",str);那时间复杂度就是:O(n)。2 用字符输出函数,如:for(i=0;i<n;i...

C语言算法的时间复杂度如何计算啊?
所以算法复杂度是O(i(0)+i(1)...+i(n-1))记得采纳啊

C语言 各常见排序法的时间复杂度 急 请简单说明
归并排序的时间复杂度是O(nlog2n)。

c语言字符串的模糊匹配有哪些常见问题?如何解决?
最大公共子串算法的时间和空间复杂度均为m*n,而编辑距离算法的复杂度则更依赖于字符串的具体内容和长度。然而,优化空间复杂度到2*min(m,n)+1,使得处理大文件,如两篇10M的论文相似度计算,变得更为可行。

【C语言】这个for程序是什么意思?执行了多少次?时间复杂度是多少?
双重循环,执行了n*n次,s++计算循环次数,时间复杂度是O(n*n);外循环: i=1 内循环: j=1 i=1 s=1 内循环: j=2 i=1 s=2 内循环: j=3 i=1 s=3 外循环: i=2 内循环: j=1 i=2 s=4 内循环: j=2 i=2 s=5 内循环: j=3 i=2 ...

跪求C语言数据结构大神,时间复杂度和空间复杂度如何计算,以我给的大...
\/\/ 时+1 } putoutc(chead); \/\/输出表c存储的结果 \/\/ 时+m return OK;} 时=O(n) 空=O(n)其实上面标出后可以明显看出怎么估算时空复杂度,一般主要看循环,循环里面如果进行的操作和字符串长度有关,那么复杂度就高,如果只是固定的几次操作,复杂度一般都是O(n)...

C语言写程序时 出现的时间复杂度 具体是什么意思?
简单理解,时间复杂度就是执行语句被调用了多少次。(1)如果只调用了一次,如:x=5;if(x<-4){x=x+4;} else {x=x+3;} 在大括号中的内容,只会调用一个语句,那么O(n)=1;(2)如果调用了两次,如:x=5;if(x<-4){x=x+4;} else {x=x+3;} x=x+56;在大括号中的内容,只会...

C语言描述的数据结构中时间渐进复杂度(O())的加法计算
例如,如果有算法的执行时间为n^2 + 2n,这里的2n对于大O符号来说可以忽略,因为它与n的增加速率相比相对较小。因此,算法的时间复杂度表示为O(n^2)。同样地,如果有算法的执行时间为3n^2 + n,n和常数项3n^2相比,n的增加速率相对较小,因此算法的时间复杂度表示为O(n^2)。在这些例子中,...

计算机二级C语言考试总分多少?几分能过?
下次报名时间2015年12月 计算机二级C语言考试难吗 不难,很基础的东西。 计算机二级c语言多少分能过 计算机等级2级是面向社会的,分笔试和上机2科考试,每科满分都是100分制,60分就及格了,当然要2门都60分,如果只通过了一门,那么没事,那门成绩给你保留半年有效,下次只考另外那门就OK了! 计算机二级c语言考试题...

什么是C语言中的时间复杂度?如何计算?
次数超过4的多项式没有平凡解,所以被成为大O的N次方问题,这样的问题总是需要那么多时间才能完成计算,这就是时间的复杂度。任何数据的压缩都有极限,越是随机的数据,越不能找到良好的数据结构,这就是空间的复杂性。实际上如果没有好的算法和数据结构,大多数程序是无法真正做到应用的。

相似回答