根据增长顺序排序断言?

时间:2017-06-13 23:17:22

标签: time processing-efficiency

所以,我有一个问题我应该按照增长的顺序按顺序排列以下断言

 2nlogn
 0.000001n^3
 1983n^2 + n
 n + 456
 3^n + 5n

我不知道如何去做。我应该以2nlogn< = n + 456< = etc等方式组织它们。

我没有找到答案 - 我只是需要一些关于如何做到这一点的建议。我知道增长表的顺序,但它对我没有帮助。

1 个答案:

答案 0 :(得分:0)

如果您知道增长表的顺序,那主要是它!

要知道的另一件大事是系数和低阶项并不重要。例如,

3n^2 ~ n^2 > 1000n ~ n

如果这很难理解,想象一下当n变得非常大时会发生什么。 n^2n增加时迅速增长,而1000n每增加n增加1000 n=1000增加1.到时n^2 = 1000n,然后{{1} },随着n的增加,n^2超越1000n

因此,对于像n^2 + 1000n这样的任何函数,将其拆分为加在一起的不同术语(乘法不同,例如n*log(n)nlog(n)不同) 。您可以忽略除最大术语之外的所有术语,在本例中为n^2。一旦你这样做并去除系数,只需使用增长表的顺序来获得你的解决方案!

https://en.wikipedia.org/wiki/Big_O_notation#Orders_of_common_functions