这是Sanjoy Dasgupta在“算法”一书中的练习。
我猜5^(log2N)
有更复杂的因为“指数支配多项式”。但是当我试图证明它时,我感到困惑。
我试图计算两者比例的限制,但失败了,因为L'Hôpital的规则似乎不适用于此。
所以,我试图给log2
两个,然后得到:
log2[5^log2N]=(log2N)*log2(5)
log2[N^(1/2)]=(1/2)*log2N
结果让我感到沮丧。这是否意味着两者具有相同的复杂性?
希望可以指出错误发生在哪里?
谢谢!
答案 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.