时间如果循环变量被划分/乘以常量,则循环的复杂性被视为O(Logn)。各种嵌套for循环的时间复杂性
环1 ----
for (int i = 1; i <=n; i *= c)
{
// some O(1) expressions
}
环2 -----
for (int i = n; i > 0; i /= c)
{
// some O(1) expressions
}
时间的循环的复杂性被认为是O(LogLogn)如果循环变量被降低/以恒定的数量呈指数增长。
Here c is a constant greater than 1
环3 ----
for (int i = 2; i <=n; i = pow(i, c))
{
// some O(1) expressions
}
回路4 -----
////Here fun is sqrt or cuberoot or any other constant root
for (int i = n; i > 0; i = fun(i))
{
// some O(1) expressions
}
任何人都可以解释我为什么它是考虑的次数内循环在这些循环中执行?
如果在循环1和循环2中c = 1,那么它将无限次地运行正确,但它是以对数时间给出的原因?
它是如何O(loglogN)在循环3和循环4?