Time complexity 使用if/else的for循环的时间复杂度
以下代码是否被视为Time complexity 使用if/else的for循环的时间复杂度,time-complexity,big-o,Time Complexity,Big O,以下代码是否被视为O(1)或O(n)?for循环具有恒定的复杂性,运行了10次,但我不确定if条件是否会被视为O(n)或O(1) (i=0;i
O(1)
或O(n)
?for循环具有恒定的复杂性,运行了10次,但我不确定if条件是否会被视为O(n)
或O(1)
(i=0;i<10;i++)的
{
如果(arr[i]==1001)
{
返回i;
}
}
复杂度将是O(1)
,因为无论输入增加多少,算法的复杂度都保持不变。也就是说,在该循环内执行的操作被认为具有恒定的时间,因此O(1)
(i=0;i<10;i++)的
{
如果(arr[i]==1001)
{
返回i;
}
}
另一方面,如果循环是:
for (i = 0; i < 10; i++)
{
f(n)
}
(i=0;i<10;i++)的
{
f(n)
}
函数f(n)
的复杂度为O(n)
那么整个代码片段的复杂度将是O(n)
,因为10*n可以标记为O(n)
要获得更深入的解释,请查看这很有意义,谢谢!
for (i = 0; i < 10; i++)
{
if (arr [i] == 1001)
{
return i;
}
}
for (i = 0; i < 10; i++)
{
f(n)
}