Time complexity for循环是否必须在循环内具有执行代码才能被视为o(n)? 函数不执行任何操作(n){ for(设i=0;i

Time complexity for循环是否必须在循环内具有执行代码才能被视为o(n)? 函数不执行任何操作(n){ for(设i=0;i,time-complexity,complexity-theory,Time Complexity,Complexity Theory,不执行任何操作的for循环是否算作O(n)?或者这是恒定时间?这是恒定时间。Asi将始终从0运行到5 上述代码段的时间复杂度将是O(1)for循环不是“什么都不做”,它在每次迭代中将变量i增加一次五次。这当然忽略了编译器可能选择完全删除此代码的事实 因此for循环for(设i=0;i

不执行任何操作的for循环是否算作O(n)?或者这是恒定时间?

这是恒定时间。As
i
将始终从
0运行到5

上述代码段的时间复杂度将是
O(1)

for循环不是“什么都不做”,它在每次迭代中将变量
i
增加一次五次。这当然忽略了编译器可能选择完全删除此代码的事实

因此for循环
for(设i=0;i为O(N)。然而,在您的例子中,使用
for(让i=0;i<5;i++)
function doNothing(n) {
  for (let i = 0; i < n; i++);
}