Time complexity for循环是否必须在循环内具有执行代码才能被视为o(n)? 函数不执行任何操作(n){ for(设i=0;i
不执行任何操作的for循环是否算作O(n)?或者这是恒定时间?这是恒定时间。AsTime 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
i
将始终从0运行到5
上述代码段的时间复杂度将是O(1)
for循环不是“什么都不做”,它在每次迭代中将变量i
增加一次五次。这当然忽略了编译器可能选择完全删除此代码的事实
因此for循环for(设i=0;i为O(N)。然而,在您的例子中,使用for(让i=0;i<5;i++)因为你只做五件事,这是一个固定的工作量,它是O(1)(即5)∈ 但记住这是因为五是一个常数,而不是因为循环什么都不做
function doNothing(n) {
for (let i = 0; i < n; i++);
}