(log(n))^ log(n)和n / log(n),哪个更快?

时间:2010-04-30 20:44:04

标签: algorithm big-o

f(n)=(log(n))^log(n)

g(n)= n/log(n)

f = O(g(n))

5 个答案:

答案 0 :(得分:10)

记录双方的日志:

log(f(n))= log(log n)* log n

log(g(n))= log(n) - log(log(n))= log(n)(1 - log(log(n))/ log(n))

显然log(log(n))占主导地位(1 - log(log(n))/ log(n)),因此g是O(f)。 f不是O(g)。由于它是家庭作业,您可能需要填写详细信息。

通过大量尝试,也可以很容易地了解答案应该是什么。 1024是2 ^ 10,所以取n = 1024:

f(n)= 10 ^ 10

g(n)= 1024/10。

显然这不是证明,但我认为我们可以看到谁赢了这场比赛。

答案 1 :(得分:5)

当且仅当 f(e n f(n) g(n)增长得更快>也比 g(e n 增长得快,因为exp严格增加到无穷大(自己证明)。

现在 f(e n )= n n g(e n )= e n / n ,您可以引用已知结果。

答案 2 :(得分:0)

如果限制[f [x] / g [x],x - >无穷大] =无穷大,然后f [x]比g [x]增长得快。

限制[Log [x] ^ Log [x] /(x / Log [x]),x - >无穷大] = +无穷大

因此,Log [x] ^ Log [x]比x / Log [x]

增长得更快

答案 3 :(得分:0)

Mathematica给出了f(n) / g(n)的限制,因为n趋向无穷大为无穷大,这意味着f增长得更快。这意味着g(n) belongs to (=) O(f(n))

如果您没有Mathematica,可以使用this

答案 4 :(得分:0)

f要大得多。截至n^loglog(n) -1 . log n