对Big-O表示法感到困惑

时间:2014-10-03 07:27:37

标签: big-o asymptotic-complexity

我是Big-O表示法的新手。在阅读时我遇到了一个例子:

Qus : Find upper bound for f(n) = n^2 + 1

Sol : n^2 + 1 <= 2n^2  for all n >= 1

so f(n) = O(n^2) with c = 2 and n0 = 1

之后我遇到了第二个例子:

Qus : Find upper bound for f(n) = n

Sol : n <= n^2 for all n >=1

so f(n) = O(n^2) with c = 1 and n0 = 1

我很困惑,根据Big-O符号,如果f(n)= n则f(n)= O(n)所以我想知道第二个例子的以下解决方案是否正确?

Sol : n <= 2n for all n >=1

so f(n) = O(n) with c = 2 and n0 = 1

1 个答案:

答案 0 :(得分:0)

这些评论的补充:

从大O的定义开始 我们可以说f(x)是O(g(x))当且仅当存在一个正数时 数字B和非负实数b使得:

|f(x)|is less or equal to B|g(x)| for all numbers x that large than b

因此,对于f(n)=n f(n)=O(n),我们可以这样说: 因为存在数字B(例如“ 2”),所以用n<=Bn。 (n <= 2n,对于所有n => 0)