Мне пришлось решить проблему, которая потребовала от меня выяснения времени выполнения для этого фрагмента кода:
for (i = 1; i <= log(n); i = i + 1) {
for (j = 1; j <= 2*i; j = 2*j) {
for (k = 1; k <= log(j); k = k + 1) {
print("[some arbitrary string]");
}
}
}
Из проверки очевидно, что это Θ((log(n)^3)
, поскольку каждый из for
loops - это Θ(log(n))
, но я не совсем уверен, каков наилучший способ доказать это (например, с помощью сумм).