Time complexity 有序增长函数

Time complexity 有序增长函数,time-complexity,Time Complexity,按从最有效到最复杂的顺序列出以下增长函数: nlog2(n)+n2 n2非直瞄(n) nlog(n) n2log(n) 2n+100n4 n3-100n2 我理解,n的压倒性函数认为该函数是最有效或最复杂的。然而,当有多个日志引用时,我不确定如何继续 我知道(5)是最复杂的,因为它有一个指数n,并且会以指数的方式增加。(6) 因为它是多项式,所以它的复杂性落后 现在是我的困惑。我认为(1)应该在6之前,因为它的n2值被添加到log函数中。然后(2)减去对数函数。然后(4)乘以。这样,使用双对数时

按从最有效到最复杂的顺序列出以下增长函数:

  • nlog2(n)+n2
  • n2非直瞄(n)
  • nlog(n)
  • n2log(n)
  • 2n+100n4
  • n3-100n2
  • 我理解,n的压倒性函数认为该函数是最有效或最复杂的。然而,当有多个日志引用时,我不确定如何继续

    我知道(5)是最复杂的,因为它有一个指数n,并且会以指数的方式增加。(6) 因为它是多项式,所以它的复杂性落后

    现在是我的困惑。我认为(1)应该在6之前,因为它的n2值被添加到log函数中。然后(2)减去对数函数。然后(4)乘以。这样,使用双对数时,3的效率最高

    我猜,从最高效到最复杂:
    3
    4
    2
    1
    6
    5


    这几乎是正确的吗?还是我在左栏?

    只要试着找到增长最快的函数:顺序是n^n>>n!>>a^n>>n^a>>n*log(n)>>n>>log(n)>>log(n))。如果将这些函数相乘,则n*log(n)*log(n)的增长速度与n*log(n)的增长速度相同,因此顺序为:nlog(n) 记住日志(n)a∈ O(n)表示所有
    a
    。您可以使用它将所有给定函数放入多项式/指数类别:

  • n2+n•log2(n)∈ O(n2)
  • n2­− n•对数(n)∈ O(n2)
  • n•对数(n)∈ O(n•log(n))∈ O(n2)
  • n2•对数(n)∈ O(n2•log(n))∈ O(n3)
  • 100n4+2n∈ O(2n)
  • n3− 100n2∈ O(n3)
  • 现在你知道{1,2,3}<{4,6}<5

    {1,2,3}内部,
    n•log(n)
    最小,因为它是
    。显然,n^2-x
    n^2+y
    ,所以2小于1

    {4,6}内部,
    n^2•log(n)=n•n•log(n)
    ,因为对于大n来说
    log(n)

    因此正确的顺序是3<2<1<4<6<5