开发者

Big-O/Big-Oh Notation Problem

I am going over the Big-Oh notation, and I have a problem understanding the solution to this question:

Is 2n + 10 ≡ O(n)?
Can we find c and n0?

2n + 10 <= cn
(c-2)n >= 10
n >= 10/(c-2)

Pick c = 3 and n0 = 10

There is also a graph used in this example:开发者_C百科

Big-O/Big-Oh Notation Problem

I am confused as to how c = 3 and how n0 = 10? Can somebody please enlighten me?


I would solve 2n + 10 <= cn differently.

2n + 10 <= cn
2 + 10/n <= c //divide by n
c >= 2 + 10/n

Clearly c has to be bigger than 2. Now take your favorite number bigger than 2. Uhm. c=2.718. This gives

2n + 10 <= 2.718*n
10 <= 0.718*n //subtract 2n
13.93 <= n

Thus, 2n + 10 <= c*n. If we take c=2.718 and n bigger than 15. (15 because it's bigger than the limit, 13.93, and I like 15.)

Any c bigger than 2 works, c=100000000000000000000000 is fine too (but, it costs much ink and paper to write down.)

It might have been easier to take c=3. That would give

2n + 10 <= 3*n
10 <= n //subtract 2n

This makes 3 the most logical / natural solution.


To say a function f(n) is O(n) means you can find c and n0 such that for all n >= n0, f(n) <= cn.

To verify this in your case: if n >= 10, then:

f(n) =  2n + 10
     <= 3n         // because 10 <= n
     = cn

So f(n) <= cn for all n >= 10, so f(n) is an O(n) function.

Note that other values for c and n0 work; you just need to find one pair.


In Big-O notation you drop numbers added and multiplied. And also use the largest power.

10*N^3+ 23*N^2 + 43*N + 154 = O(N^3)


let f(n) = 2n+10
as per the Big-Oh notation,
f(n)<= c*g(n)  ----->eq1(let)
2n+10 <= 2n+n  
2n+10 <= 3n     for n>=10 //here the constant 10  is replaced by n ---->eq2

comparing eq1 with eq2 c=3 and g(n)=n for value of n=10

f(n)= O(g(n)) = O(n)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜