時間如果循環變量被劃分/乘以常量,則循環的複雜性被視爲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?