Algorithm 算法简介的时间复杂性

Algorithm 算法简介的时间复杂性,algorithm,time-complexity,Algorithm,Time Complexity,我正在学习算法简介,对练习的答案感到困惑: 10*log10=O(logn^2) //我认为应该是10*log10=Theta(logn^2) n^1.01=ω(n*(对数n)^2) //我认为应该是n^1.01=O(n*(logn)^2) (log n)^log n=ω(n/log n) //我认为应该是(logn)^logn=O(n/logn) n*2^n=O(3^n) //我不知道如何证明这一点 我的想法正确吗?如果您能提供这四个问题的一些证据,我将不胜感激 谢谢 我想你把事情弄糊涂了。复

我正在学习算法简介,对练习的答案感到困惑:

  • 10*log10
    =O(
    logn^2

    //我认为应该是10*log10=Theta(logn^2)

  • n^1.01
    =ω(
    n*(对数n)^2

    //我认为应该是
    n^1.01
    =O(
    n*(logn)^2

  • (log n)^log n
    =ω(
    n/log n

    //我认为应该是
    (logn)^logn
    =O(
    n/logn

  • n*2^n
    =O(
    3^n

    //我不知道如何证明这一点

  • 我的想法正确吗?如果您能提供这四个问题的一些证据,我将不胜感激


    谢谢

    我想你把事情弄糊涂了。复杂性理论中的平等必须理解为“属于阶级”,而不是“平等”。然后你必须清楚地认识到大Oh符号(以及其他ω和θ…)的意义。例如,O(n)表示增长速度不超过线性函数的所有函数。更正式地说,如果f(n)=O(n)(读作“f(n)属于O(n)”类),则存在常数c,使得对于任何n:f(n) 让我们考虑一个例子:

    n*2^n=O(3^n)

    为了证明我们必须找到常数c,这样:

    n*2^n 一些数学: n*2^nn 你可以很容易地看到,即使对于c=1,这也是成立的,这证明了这个说法。 同样,请确保您很好地理解了复杂性术语