Time complexity O(N+NM)可以简化为O(NM)吗?

Time complexity O(N+NM)可以简化为O(NM)吗?,time-complexity,big-o,complexity-theory,Time Complexity,Big O,Complexity Theory,假设N和M是算法的两个参数。以下简化是否正确 O(N+NM) = O[N(1+M)] = O(NM) 换句话说,在这样的上下文中是否允许删除常量?显然,如果M=0,就无法删除N项。那么让我们假设M>0。取一个常数k>0,使得1显然,如果M=0,就不能去掉N项。那么让我们假设M>0。取常数k>0,使1TL;是博士 解释 根据大Oh符号的定义,如果O.中的一个项可证明小于一个常数乘以变量所有足够大值的另一个项,则可以删除较小的项 你可以找到一个更精确的大Oh的定义,但一些例子的结果是: O1000

假设N和M是算法的两个参数。以下简化是否正确

O(N+NM) = O[N(1+M)] = O(NM)

换句话说,在这样的上下文中是否允许删除常量?

显然,如果M=0,就无法删除N项。那么让我们假设M>0。取一个常数k>0,使得1显然,如果M=0,就不能去掉N项。那么让我们假设M>0。取常数k>0,使1TL;是博士

解释

根据大Oh符号的定义,如果O.中的一个项可证明小于一个常数乘以变量所有足够大值的另一个项,则可以删除较小的项

你可以找到一个更精确的大Oh的定义,但一些例子的结果是:

O1000*N+N^2=在^2上,因为一旦N>1000,N^2将使1000*N矮化

ON+M不能简化

ON+NM=ONM,因为一旦N>1且M>1,N+NM<2NM

TL;是博士

解释

根据大Oh符号的定义,如果O.中的一个项可证明小于一个常数乘以变量所有足够大值的另一个项,则可以删除较小的项

你可以找到一个更精确的大Oh的定义,但一些例子的结果是:

O1000*N+N^2=在^2上,因为一旦N>1000,N^2将使1000*N矮化

ON+M不能简化

ON+NM=ONM,因为一旦N>1且M>1,N+NM<2NM


这个等式是正确的。这取决于你想显示复杂性的精确程度,等式是正确的。这取决于你想显示复杂性的精确程度。精确的答案。精确的答案。
N+NM  = N(1+M)
     <= N(kM+M)            ; 1<=kM
      = (k+1)NM
      ∊ O(NM)
NM <= N+NM ∊ O(N+NM)