这些表达式增长的顺序?

时间:2015-03-23 08:28:36

标签: java performance

我不太了解增长的顺序,而且我坚持书本问题。任何解释或帮助将不胜感激。问题是:

对于以下表达式,每个表达式的增长顺序是什么?

n ^ 2 + 2n + 1

n ^ 10 + 9n ^ 9 + 20n ^ 8 + 145n ^ 7

(n + 1)^ 4

n + log(n)

(n ^ 3 + 2n)/(n ^ 2 + 0.75)

我没有列出所有这些,因为我只想了解或了解如何做到这一点。谢谢!

1 个答案:

答案 0 :(得分:0)

下表显示了每个表达式的Big-O复杂性。我认为这就是你所说的"每个"的增长顺序:

Expression                      Complexity
------------------------------------------
n^2 + 2n + 1                    O(n^2)
n^10 + 9n^9 + 20n^8 + 145n^7    O(n^10)
(n + 1)^4                       O(n^4)
n + log(n)                      O(n)
(n^3 + 2n)/(n^2 + 0.75)         O(n)

计算Big-O复杂性时要记住的一个简单规则是当n接近无穷大时,表达式会发生什么。例如,考虑您的第一个表达式 n ^ 2 + 2n + 1 。当n变得足够大时,n^2术语将主导表达式的行为。