如何比较(3/2)^ n和(log n)^(log n)的增长率?(记录到基数2)。我试过限制测试,L'Hospital的规则,但无济于事

时间:2013-09-14 20:30:57

标签: performance algorithm time-complexity

我正在尝试比较(3/2)^ n和(log n)^(log n)的增长率。但是我不确定用什么方法给我任何线索!

2 个答案:

答案 0 :(得分:3)

记录两者。

1. log((3/2)^n) = n * log 3/2
2. log(log n ^ log n) = log log n * log n

(1)增长快于(2)。

为了表明这一点,只需显示n(log n)^2增长更快就足够了。


在n和(log n)^ 2之间,取log -

3. log n
4. 2 log log n

(3)比(4)增长得快。 [嗯,事实上,这也表明n的增长速度超过log n的任何力量。]


所以把它放在一起,

log n增长速度超过2 log log n

=> n增长速度超过log n * log n

=> n log(3/2)增长速度超过log log n * log n

=> (3/2)^n增长速度超过log n ^ log n

答案 1 :(得分:1)

好吧,如果你记录双方的日志,你得到log(3/2 ^ n)和log(log(n)^ log(n))。对于较大的n值,如果一个增长得更快,其日志会增长得更快。

这产生n * log(3/2)和log(n)*(log(log(n))

此时,我会注意它,但为了更进一步,log(log(n))比log(n)增长得慢,所以如果n * log(3/2)增长快于log(n)* log (n),它的增长速度也快于log(n)* log(log(n)。

删除常量,我们必须查看n是否增长得更快log(n)* log(n)。右侧可以变为log(n)^ 2,因此我们可以看看sqrt(n)是否比log(n)增长得更快。这个证据是微不足道的。

由于sqrt(n)比log(n)快,n * log(3/2)比log(n)^ 2快,这意味着n也快于log(n)* log(log( n)),这意味着log(3/2 ^ n)增长fatsserthan log(n)^(log(n))