对于有关算法时间复杂度的问题,我是否选择了正确答案?

时间:2019-03-04 07:30:28

标签: time-complexity big-o

问题是:

enter image description here

我说这句话是错误的,因为没有常量 k1 k2 使得 k1 * n <2 ^ log(n )+ n ^ 3/2/30 ^ 30 + log(n)^ 10 n 足够大时。

我仍然很难理解Big O表示法,因此我不确定这是否是正确的理由。

1 个答案:

答案 0 :(得分:0)

让我们假设log代表log_10(以10为底的对数)。假设lg表示以2为底的对数。然后

log n = (lg n)(log 2),

可以通过在log的两边取n = 2^(lg n)来进行验证。

从第一个等式推论得出

2^(log n) = n^(log 2)

因此,第一项是θ(n^(log 2)),其中log 2 ≈ 0.301。第二项是θ(n^1.5)。因此,前两项的总和为θ(n^1.5)。而且由于n^1.5也主导(log n)^10,我们得到的答案是θ(n^1.5)