O (n log log n) временная сложность

У меня есть короткая программа:

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 раз. Но я не уверен, как найти журнал регистрации n. Внутренний цикл зависит от k * k, поэтому очевидно, что он будет меньше n. И было бы просто n log n, если бы каждый раз было k / 2. Но как бы вы выяснили, что ответ будет log log n?

9
задан Bill the Lizard 18 September 2012 в 16:55
поделиться