我为我糟糕的数学技能提前道歉......
我试图了解Big O Notation背后的数学运算方式。我从this 2n^2 = O(n^3)
了解到n = O(n^2)
并证明了n^3 = O(n^2)
,但我似乎也证明n^3 = O(n^2)
n^3 <= c*n^2
n <= c #n^2 cancels out
1 <= c/n
c = 1; n0 = 1
没有意义,而我{我肯定是错的。以下是我&#39; m&#34;证明&#34;这样:
ppt.Alerts
我做错了什么?
答案 0 :(得分:4)
1 <= c/n
不适用于所有n > n0
,例如,对于n = 2(您的n0 = 1,c = 1),您得到:
1 <= 1/2
这是一个错误的陈述。
大O表示法中的关键是你需要证明对于所有n > n0
,等式f(n) <= C*g(n)
成立(对于某些C,n0
),以显示f(n)
在O(g(n))
答案 1 :(得分:-1)
通常,Big O表示法被定义为具有共同渐近行为的一组函数。也就是说,随着n的增长,函数将如何增长。
在这种情况下,我们清楚地看到n ^ 3超过n ^ 2,所以它们实际上在不同的O类中。