“int i = constant1; while(i <n){i * = constant2;}”的渐近增长率

时间:2015-10-19 15:33:34

标签: asymptotic-complexity

这个函数的渐近增长率是多少:

int i=3; 
while(i < n) {
   i *= 5; 
}

我测量了它:

执行n=3 i<n一次

n=16 i<n执行2次

n=80时,i<n执行3次

我需要找到合适的增长率,但我被困住了。

1 个答案:

答案 0 :(得分:1)

我相信增长率是:

3 * 5^x >= n
5^x >= n/3

因此

xlog5 >= log n - log 3
x >= (log n - log 3) / (log 5)

您可以定义3*5^x必须是>=n。我们可以在第一行中设置方程式。