Time complexity for循环的时间复杂度

Time complexity for循环的时间复杂度,time-complexity,big-o,Time Complexity,Big O,我需要计算以下循环的时间复杂度: for (i = 1; i < n; i++) { statements; } (i=1;i

我需要计算以下循环的时间复杂度:

for (i = 1; i < n; i++)
{

 statements;

} 
(i=1;i { 声明; } 假设n=10, Is
i将运行n次的控制语句和
i++语句n-1次?并且知道
i=1语句将运行一个时间单位

计算for循环中三条语句的总时间复杂度得到1+n+n-1=2n,而包含其语句的循环得到2n+n-1=3n-1=O(n)


我的计算在这一点上正确吗?

是的,你的计算是正确的,像这样的for循环应该有O(n)符号

类似地,您可以进行如下计算:

for(int i = 0; i <n*2; i++){
//calculations
}

for(int i=0;i是的,您的计算是正确的,类似这样的for循环将使用O(n)表示法

类似地,您可以进行如下计算:

for(int i = 0; i <n*2; i++){
//calculations
}

for(int i=0;i)如果内部语句的时间复杂度不依赖于
n
,则此循环的时间复杂度为
O(n)
。此循环的时间复杂度可能重复为
O(n)
如果内部语句的时间复杂度不依赖于
n
。可能的重复你确定吗,你的意思是n*2而不是n^2?在这种情况下,时间复杂度不是O(n^2)而不是O(n^2)吗?你确定吗,你的意思是n*2而不是n^2?在这种情况下,时间复杂度不是O(n)而不是O(n^2)