比较两种算法的算法复杂度

时间:2015-09-03 06:05:21

标签: algorithm time-complexity

在此我提出此问题之前,我发现此网站是提出此问题的合适网站from here

我有2个算法说A和B同样的问题。

A is complexity is = 5nlogn
B is complexity is = n sqrt(n)

我想找到n0的值,这样我才能证明A比B好。

我尝试了以下内容:

5nlogn/nsqrt(n) = 5logn / sqrt(n)

by putting 
 n = 512  ==> i got the answer. But i am not sure whether it is correct?

我该怎么做?

要明确:我想证明以下内容

A = BigO(B)

1 个答案:

答案 0 :(得分:2)

不完全是。

您正在寻找

5nlog(n) < nsqrt(n)
5nlog(n) / nsqrt(n) < 1
5log(n) / sqrt(n) < 1

wolfram alpha开始,这对所有n > ~3500

都是正确的

作为旁注,如果您想在5nlog(n)中显示O(nsqrt(n)),则可以调整常量,并添加常量C:

5nlog(n) < C*nsqrt(n) for all n > n0

选择C=10时,上述内容适用于所有n>0