求个算法,减少计算时间

 
 
for (float m = 2000; m < 3000; m += 1)
            {
                for (float i = 2000; i < 3000; i += 1)
                {
                    for (float j = 5500; j < 6500; j += 1)
                    {
                        for (float k = 250; k < 450; k += 1)
                        {
                            //目标是遍历求最优解
                            calWithParam(m, i, j, k, globalResult);
                        }
                    }
                }
            }

说明一下,calWithParam是一个函数,通过这个函数得到的结果跟已有的值作比较,得到跟目标尽可能贴合的值。 再具体就是说,比如10个不同高度对应的体积是测量出来的,要求的就是把这个函数计算出来的体积(跟高度相关的list)跟已有的不同高度的体积做比较,使结果尽可能跟测出来的体积对应。

那这个m,i,j,k就是想要的参数

反正for里啥都没有,全部删掉就快了

都不知道你要什么结果,怎么优化?如果按照你发出来的优化,那就是什么都不用直接删掉即可。

根据题意,m, i, j, k之间应有某种关系,题主应该考虑用其他算法代替当前的4层for循环,现在的时间复杂度是O(n^4),应该考虑换一种思路


//for (float m = 2000; m < 3000 ; m ++)
//                {
//                    for (float i = 2000; i < 3000; i ++)
//                    {
//                        for (float j = 5500; j < 6500; j ++)
//                        {
//                            for (float k = 250; k < 450; k ++)
//                            {
//                                //计算程序,耗时1.5-2.5//
//}
//
//}
//
//}
//
//}