Time complexity 证明或反驳时间复杂性

Time complexity 证明或反驳时间复杂性,time-complexity,complexity-theory,Time Complexity,Complexity Theory,我很快就要考试了,我很长时间没有上大学了,因为我当时在医院 证明或反驳以下陈述: 对数(n)=O( √ n) 3^(n-1)=O(2^n) f(n)+g(n)=O(f(g(n))) 2^(n+1)=O(2^n) 有人能帮我解释一下吗?(1)是真的,因为log(n)的增长速度比任何多项式都慢,包括sqrt(n)=n^(1/2)。为了证明这一点,我们可以观察到log(n)和sqrt(n)都是n>0的严格递增函数,然后关注一个两者都易于计算的序列,例如2^(2k)。现在我们看到log(2^(2k))=

我很快就要考试了,我很长时间没有上大学了,因为我当时在医院

证明或反驳以下陈述:

  • 对数(n)=O( √ n)

  • 3^(n-1)=O(2^n)

  • f(n)+g(n)=O(f(g(n)))

  • 2^(n+1)=O(2^n)

  • 有人能帮我解释一下吗?

    (1)是真的,因为log(n)的增长速度比任何多项式都慢,包括sqrt(n)=n^(1/2)。为了证明这一点,我们可以观察到log(n)和sqrt(n)都是n>0的严格递增函数,然后关注一个两者都易于计算的序列,例如2^(2k)。现在我们看到log(2^(2k))=2k,但是sqrt(2^(2k))=2^k。对于k=2,2k=2^k,对于k>2,2k<2^k。这掩盖了一些细节,但想法是正确的。您可以通过论证在2^(2k)和2^(2(k+1))之间,对于k>=2,两个函数的值都大于一,从而可以通过将sqrt(n)乘以某个常数来消除任何交叉

    (2) 3^(n-1)不是O(2^n)。假设这是真的。然后存在一个n0和c,对于n>n0,3^(n-1)@Hamza07哪个?如果你熟悉大Oh的定义,至少(4)应该足够容易理解。如果你不熟悉这个定义,你就需要有希望回答这些问题。