接入点中几何加权质心的计算复杂度(Big-O表示法)

时间:2018-05-18 10:29:48

标签: algorithm time-complexity big-o complexity-theory

我需要使用Big-O表示法计算以下等式的计算复杂度:

enter image description here

此处,m是接入点的总数(可能是复杂度方面的迭代次数,i是个别接入点)。我了解了Big-O表示形式this博客。此外,我在this link发现了一个类似的问题。在上面的等式中,d是用4次运算(乘法,减法,除法和幂)计算的距离。如上面的等式所示,w用两个运算(幂和除法)计算。计算xwyw,每个操作两次(乘法和除法)。 因此,我已经发现上述算法的Big-O表示法为:

4*[m]+2*[m]+2*[m]+2*[m]

这是对的吗?它可以近似为O(m)吗? 此外,上述算法(方程)与下一算法相结合,其计算复杂度为O(N)N为迭代次数。在这里,N>>m。 Big-O表示法的最终计算复杂度是多少?

谢谢。

更新:

带有wx的下标y只是一种表示法。这不是迭代。迭代仅为m。例如。 i = 1,2,3,4,5,......,m。这两种算法以流水线方式运行。例如,首先操作具有m次迭代的算法,并且该算法的输出被馈送(作为输入)到具有N次迭代的下一算法。因此,当完成m次迭代(算法1)时,接着进行N次迭代(算法2)。我的问题类似于两个没有嵌套的循环,并且N>>m具有不同的迭代。

for(int i=0; i<m; i++){
   System.out.println(i);
}

for(int j=0; j<N; j++){
   System.out.println(j);
}

最终的计算复杂性是什么?

1 个答案:

答案 0 :(得分:1)

是的,从i=1i=m的总和需要O(m)次。所有其他操作都是不变的,你没有任何总和或类似的东西。

关于您的N值,您没有提供足够的信息。我们必须知道如何计算N或如何与m相关联。

另外你应该考虑以下约束 - 你能提供一些数字或方程式永远无法达到的最大值(甚至令人难以置信的)吗?通常,带数字的操作被认为是常量,因为它们是在32或64位数字上制作的,这些数字总是需要恒定的时间。

但是如果你有一些具有令人难以置信的长数的方程(如数百个字符长或更长),那么数字的大小必须考虑复杂性。 (你可以想象,将两个长度为数百万字符的数字乘以比用2x2做同样多的数字)