让f和g成为两个函数。它们用于其他功能,它增加了两个功能的输出,在另一种情况下乘以两个功能的输出。即 如果f = O(n)且g = 0(n ^ 3),则f + g =α。 f * g怎么样?
答案 0 :(得分:0)
O(n)通过采用最大的订单项而忽略其他订单项来工作。所以在你的例子中:
f
= O(n)
g
= O(n 3 )
假设*
和+
属于O(n)自己...
f + g
= O f + O + + O g = O(n)+ O(n)+ O (n 3 )= O(n 3 + 2n)= O(n 3 )
请注意,在最后一步中,您只需忽略除最高阶项之外的所有项,并删除任何倍数。对于*
,结果是相同的。
另一个例子:
f + f
= O f + O + + O f = O(n)+ O(n)+ O (n)= O(3n)= O(n)
请记住,运营商也有一个“成本”,这已经与其他业务相加。
Big O表示法总是添加,但请务必考虑元素数量是否发生变化。 (例如,如果你做了一个增加元素数量的操作,那么n
的未来实例就会增加。如果你做矩阵乘法之类的事情,这很重要。)