增长率递增顺序

Order of growth rate in increasing order

Arrange the following functions in increasing order of growth rate (with g(n) following f(n) in your list if and only if f(n)=O(g(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 应该排在第一位。我的意思是少一个所以请帮助解决这个问题。 我在算法课程第 1 部分作业 (Coursera) 中遇到的这个问题。

首先,n的任何正幂总是大于log n,所以E在之前 C、不后。

此外,D 出现在所有其他函数之后,作为 2^n^2 的任一解释(可以是 2^(n^2)(2^n)^2 = 2^(2n);尽管我忽略 BIDMAS 可能是错误的...)是 n 本身的指数。

log为基础a,一些任意常数:

a)

b)

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

的值

大于2则A在E之后,否则在E之前。奇怪的是,E 中对数项的底数是无关紧要的(它仍然保留它的位置)。

答案是aecbd

了解原因的最简单方法是创建具有不同 n 值的 table 并在它们之间进行比较。但一些直觉:

a 比其他任何增长都小,特别是 c 因为幂中的对数项与项本身相反

ea 乘以 n**2 项,这比它在指数中更好

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

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