C 如果对嵌套循环使用相同的变量,则时间复杂度为n的阶数或n的平方 for(i=0;i
您的双循环的时间复杂度为C 如果对嵌套循环使用相同的变量,则时间复杂度为n的阶数或n的平方 for(i=0;i,c,loops,time,nested,complexity-theory,C,Loops,Time,Nested,Complexity Theory,您的双循环的时间复杂度为O(n),因为总迭代次数为n 为循环修改的循环变量被认为是不好的做法。我将使用而不是循环 请注意,内部循环有一个bug-它需要检查它是否没有继续超过缓冲区的末尾。我明白你的意思。如果句子中没有空格,内部循环将超过null。但是使用while如何。你会如何使用while?while(arr[I]!=”{I++;}不会再有同样的问题了吗?这个bug是一个单独的问题,必须得到处理。例如:while(iwhile)(iif)在这种情况下可能更容易理解,因为您只有一个循环。性能应该
O(n)
,因为总迭代次数为n
为循环修改的循环变量被认为是不好的做法。我将使用而不是
循环
请注意,内部循环有一个bug-它需要检查它是否没有继续超过缓冲区的末尾。我明白你的意思。如果句子中没有空格,内部循环将超过null。但是使用while如何。你会如何使用while?while(arr[I]!=”{I++;}不会再有同样的问题了吗?这个bug是一个单独的问题,必须得到处理。例如:while(iwhile)(iif
)在这种情况下可能更容易理解,因为您只有一个循环。性能应该是相似的。如果真的重要,您必须比较生成的汇编代码。
for(i=0;i<n;i++)
{
for(;arr[i]!=' ';i++)
{
//required code
}
//required code
}