时间复杂度增加的循环

时间:2016-12-15 18:38:32

标签: algorithm time-complexity

我对下面一段代码的时间复杂性感到有点困惑(限制是硬编码引用的例子):

loss = 3;
for(i=0;i<=10;)
{
    i += loss;
    loss = loss - 0.3; //loss keeps decreasing by some fixed value
}

虽然变量i正在逐渐增加接近终止循环,但它增加的速率本身是可变的。

1 个答案:

答案 0 :(得分:0)

在这个具体的例子中,时间复杂度是O(1)因为,因为它没有参数,所以它总是需要相同的时间才能执行。

如果你的for循环中的那个数字10是一个参数n,如果O(n)足够大,n就会n &#34;损失&#34;最终将变为负面,程序将永远运行。 &#34;损失&#34;以恒定的数量影响时间复杂度。