什么是为while循环
x = 1
while(x < SomeValue)
{
x *= 2;
}
的时间复杂度时间复杂度,我相信这是O(N),作为循环将持续一个固定数量的迭代。 我的假设是否正确?
什么是为while循环
x = 1
while(x < SomeValue)
{
x *= 2;
}
的时间复杂度时间复杂度,我相信这是O(N),作为循环将持续一个固定数量的迭代。 我的假设是否正确?
循环将在O中执行(日志n)时间。希望数学能让理性更清楚。每次迭代都是恒定的。为了寻找与SomeValue
迭代次数,我们称之为吨,你可以看到ñ次迭代后,x
将值2 ⁿ。该循环结束一次x
≥t。因此,为了找到满足或超过t所需的迭代次数,针对x
插入2≈并且解决t。您得到t = log 2(n)。因此,O(日志n)时间。
我不介意错误,但只是如果我错了,那么什么是正确的答案。 – Cdesai
如果它是一个固定的迭代次数,它有多少? –