我试图更好地理解O(n)
的想法,所以我对此感到好奇:
如果我们知道a> = b所以O(a+b)=O(a)
?
我知道O(a)+O(a)=O(2a)=O(a)
,但我想知道它是否真的比它更小,我的意思是 - 如果O(a+b)=O(a)
。
我认为这是真的,因为a+b=O(2a)
,但我想知道我是不是错了......
(P.S。如果a和b是常数,那将是真的吗?)
谢谢!
答案 0 :(得分:5)
根据这种情况,你完全正确地简化了O(a + b)= O(a)。
这是因为
a>=b (given)
O(a+b) <= O(a+a) = O(2a) = O(a) // as clearly mentioned by you.
示例: -
我们假设
a = n; b = log(n).
然后,你可以看到
O(a+b) = O(n+log(n)) = O(n) = O(a).