Big o 简单表达式的大O表示法

Big o 简单表达式的大O表示法,big-o,time-complexity,asymptotic-complexity,Big O,Time Complexity,Asymptotic Complexity,为什么 正如定义所说 2n^2 = O(n^3) 如果f(n)0 对于所有n>n0 既然有很多上界 因此,Skiena的任何其他更好的上限定义: f(n)=O(g(n))表示c·g(n)是f(n)的上界。因此存在 一些常数c总是f(n)≤ c·g(n),对于足够大的n (即≥ n0表示某些常数n0) 这里f(n)=2n^2,g(n)=n^3 让我们取常数c=2。所以2n^2=1。这是真的 当然,对于相同的c=2 从维基: 函数的一种描述,通常只用大O表示法 提供函数增长率的上限 大O符号只提

为什么

正如定义所说

2n^2 = O(n^3)
如果f(n)0
对于所有n>n0
既然有很多上界
因此,Skiena的任何其他更好的上限定义:

f(n)=O(g(n))表示c·g(n)是f(n)的上界。因此存在 一些常数c总是
f(n)≤ c·g(n)
,对于足够大的n (即≥ n0表示某些常数n0)

这里
f(n)=2n^2,g(n)=n^3
让我们取常数
c=2
。所以
2n^2=1
。这是真的

当然,对于相同的
c=2

从维基:

函数的一种描述,通常只用大O表示法 提供函数增长率的上限


大O符号只提供了一个上限,所以

2n²=O(n²),2n²=O(n³),2n²=O(大于n²的任意值)


我投票结束这个问题,因为这个问题涉及数学而不是编程。这是一个编程问题,因为在数学中“equals=”被视为相等,但在上述情况下它被视为“属于”。数学中没有大O。如果你这样看,算法中的一切(至少在复杂性分析中)都是数学!谢谢大家!@马可,这真的很有帮助
if f(n)<= cg(n), 
 n ,c > 0 
for all n > n0