分析5 ^(log2N)和N ^(1/2)之间的大O关系,以及如何证明它?

时间:2016-03-30 12:27:52

标签: algorithm big-o

这是Sanjoy Dasgupta在“算法”一书中的练习。

我猜5^(log2N)有更复杂的因为“指数支配多项式”。但是当我试图证明它时,我感到困惑。

我试图计算两者比例的限制,但失败了,因为L'Hôpital的规则似乎不适用于此。

所以,我试图给log2两个,然后得到:

log2[5^log2N]=(log2N)*log2(5)

log2[N^(1/2)]=(1/2)*log2N

结果让我感到沮丧。这是否意味着两者具有相同的复杂性?

希望可以指出错误发生在哪里?

谢谢!

1 个答案:

答案 0 :(得分:0)

是的,两者具有相同的复杂性.Big O表示法用于渐近分析,这意味着长期行为。对于非常大的值(log2N)* log2(5)和< strong>(1/2)* log2N 大致相同。你已经正确地解决了这个问题。

Let 5^log2N be F(N) and N^(1/2) be G(N).

log2(F(N)) = C*log2N, where C=log2(5), This means that

log2(F(N)) <=(C+1)log2N and this means that

log2(F(N)) = O(log2N), because C+1 is also a constant.

Similarly log2(G(N)) = O(log2N)

Now we have F(N) = 2^O(log2N) and G(N) = 2^O(log2N)

This is the reason they have same complexity.