For(I=1 ; I<=n ; I++)
{
For(J=1 ; J<=I ; J++)
{
For(K=1 ; K<=n^5 ; K=15 × K)
{
x=y+z;
}
}
}
在我看来是O(N^2 log N),但是当我分析第k个循环时,它并没有遵循Log N,这让我很困惑,
最佳答案
它应该是 O(n^2 log(n))
因为内部循环将被调用 (n/2)(n+1)
次并且它将循环 n 的 n^5 = 5 * log base 15
的 log base 15,因为 k 在循环次数中呈指数增长。
这导致 5(n^2+n)(log base 15 of n)/2
分配给 x,即 O(n^2 * log(n))
关于algorithm - 以下代码的时间复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39323231/