代码之家  ›  专栏  ›  技术社区  ›  RV.

增长率递增顺序

  •  4
  • RV.  · 技术社区  · 10 年前

    按增长率的递增顺序排列以下函数 (当且仅当f(n)=O(g(n))时,列表中f(n。

    a)2^log(n)  
    b)2^2log(n)  
    c)n^5/2  
    d)2^n^2  
    e)n^2 log(n) 
    

    所以我认为答案是递增的 CEDAB公司
    这是正确的吗?我对选项A和B感到困惑。 我认为选项A应该放在第一位,我的意思是少一个,所以请帮助解决这个问题。 这个问题是我在算法课程第一部分作业(Coursera)中遇到的。

    2 回复  |  直到 10 年前
        1
  •  1
  •   user3235832 user3235832    10 年前

    首先 n 总是 大于 log n 之前 C、 之后不会。

    此外,D位于其他函数之后 2^n^2 (可能是 2^(n^2) (2^n)^2 = 2^(2n) ; 我忽略BIDMAS可能是错误的……)是指数 n 它本身

    log a

    a) enter image description here

    b) enter image description here

    因此,不幸的是,实际顺序取决于 ,例如,如果

    enter image description here

    大于2,则A在E之后,否则在E之前。奇怪的是,E中对数项的基数是不相关的(它仍然保持其位置)。

        2
  •  0
  •   Wboy    8 年前

    答案是 aecbd

    了解原因的最简单方法是创建一个具有不同n值的表,并在其中进行比较。但有些直觉:

    a 长得比任何其他的都少,特别是 c 因为功率中的对数项与术语本身相反

    e 乘以一个n**2项,这比在指数中更好

    b 是双指数,但仍优于二次幂

    d 显然是最糟糕的,因为它以二次幂指数增长!