Algorithm 增长率的增长顺序

Algorithm 增长率的增长顺序,algorithm,computer-science,Algorithm,Computer Science,按增长率的递增顺序排列以下函数 (当且仅当f(n)=O(g(n)),列表中f(n)后面有g(n)) 所以我认为答案是递增的 CEDAB 对吗?我对选项A和B感到困惑。 我认为方案A应该放在第一位。。我的意思是少一个,所以请帮助解决这个问题。 我在算法课程第1部分作业(Coursera)中遇到的这个问题。首先,n的任何正幂总是大于logn,因此E在C之前,而不是之后 另外,D紧跟在其他函数之后,因为对2^n^2的解释(可能是2^(n^2)或(2^n)^2=2^(2n);我忽略bidma可能是错误的

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

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

首先,
n
的任何正幂总是大于
logn
,因此E在C之前,而不是之后

另外,D紧跟在其他函数之后,因为对
2^n^2
的解释(可能是
2^(n^2)
(2^n)^2=2^(2n)
;我忽略bidma可能是错误的…)都是
n
本身的指数

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

(a)

(b)

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


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

答案是
aecbd

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

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

e
a
,其中n**2项相乘,这比指数更好

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


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

这个问题似乎与编程无关,更适合再次思考,这是不正确的。我认为这将是解决此类问题的最佳场所。这个问题应该在各自的论坛中讨论。
a)2^log(n)  
b)2^2log(n)  
c)n^5/2  
d)2^n^2  
e)n^2 log(n)