c/c++语言开发共享所有数组元素的比较 – C算法

我有一个矩阵m * n ,对于每一行,我需要比较它们之间的所有元素。 对于我发现的每对情侣,我将调用一个将执行某些计算的函数。

例:

my_array -> {1, 2, 3, 4, 5, ...} I take 1 and I have: (1,2)(1,3)(1,4)(1,5) I take 2 and I have: (2,1)(2,3)(2,4)(2,5) and so on 

使用CI写道:

 for (i=0; i<array_length; i++) { for (k=0; k<array_length; k++) { if (i==k) continue; //Do something } } } 

我想知道我是否可以使用复杂度较低的算法。

    不,根据定义它是O(n ^ 2)[这里解释太久了,但请相信我( – :]
    但是你可以减少一半的迭代次数:

     for (i=0; i 

    您可能会做一些事情,但这些事情是可能的,并且不依赖于arrays性质和您应用的公式。 总体复杂性可能保持不变甚至增长,即使计算速度更快,除非公式具有复杂性依赖于其参数,在这种情况下可以实现复杂性的降低。

    此外,如果B远小于A,则从AO(N ^ a)到BO(N ^ b) ,b> a (更高的复杂度)仍然值得追求,对于某些N的范围。

    没有特别的顺序:

    不,如果您包含数组内容的知识,以及优化算法的操作语义,则只能降低计算复杂度。

      以上就是c/c++开发分享所有数组元素的比较 – C算法相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/562557.html

      (0)
      上一篇 2021年2月5日
      下一篇 2021年2月5日

      精彩推荐