具有嵌套循环的算法的时间复杂度

时间:2014-08-06 02:05:42

标签: algorithm loops time time-complexity

我已经在这里阅读了大量关于找到不同算法的时间复杂度的问题,我认为这是我理解的,直到我将其应用于算法的外部循环:

对于i = 1步i←n * i而i< n ^ 4做

如果有必要,我可以发布完整的算法,但我不想这样做,如果可能的话,我希望自己完成一项功课。

我无法弄清楚该循环的复杂性是什么。我认为它只有4只,除非n = 1,但我对于如何正式表达这一点我是空白的。无论如何,它还是我完全错了!

有人能够帮忙解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

将你的循环翻译成C(只是为了确保我理解你的伪代码):

for (i=1; i < n^4; i = i * n ) {
...
}

关键问题是i次迭代后x是什么?答案:i^x(你可以通过归纳证明)。因此,当x为4时,in^4并且循环退出。因此它在4次迭代中运行并且是恒定时间。