我是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
答案 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)