У меня есть короткая программа:
Given any n:
i = 0;
while (i < n) {
k = 2;
while (k < n) {
sum += a[j] * b[k]
k = k * k;
}
i++;
}
Асимптотическое время выполнения этого алгоритма равно O(n log log n). Почему это так? Я понимаю, что вся программа будет запускаться как минимум n раз. Но я не уверен, как найти журнал log n. Внутренний цикл зависит от k * k, поэтому очевидно, что он будет меньше n. И это было бы просто n log n, если бы каждый раз было k/2. Но как понять, что ответ будет log log n?