首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >O(N+NM)可以简化为O(NM)吗?

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

Stack Overflow用户
提问于 2019-07-09 17:34:48
回答 2查看 1.4K关注 0票数 1

假设NM是算法的两个参数。以下简化是否正确?

代码语言:javascript
复制
O(N+NM) = O[N(1+M)] = O(NM)

换句话说,是否允许在这种情况下删除常量?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-10 00:51:01

TL;博士是

解释

根据大噢表示法的定义,如果O(.)中有一个术语可以证明,对于变量的所有足够大的值,它都小于常量乘以另一个项,则可以删除较小的项。

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

  • O(1000*N+N^2) = O( N^2 ),因为N^2一N>1000就会使1000*N变矮
  • O(N+M)不能简化
  • O( N+NM ) = O(NM)自N+NM< 2(NM)起,由N>1和M>1开始
票数 4
EN

Stack Overflow用户

发布于 2019-07-10 00:50:01

显然,如果是N,则不能去掉M=0术语。所以让我们假设M>0。取一个常量k > 0,使1<=kM (如果M是整数,则为k=1,则取一个常量c,使0 < c <= M an取k=1/c)。我们有

代码语言:javascript
复制
N+NM  = N(1+M)
     <= N(kM+M)            ; 1<=kM
      = (k+1)NM
      ∊ O(NM)

另一方面,

代码语言:javascript
复制
NM <= N+NM ∊ O(N+NM)

因此,平等。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56957916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档