C程序优化
发布网友
发布时间:2022-04-27 00:14
我来回答
共2个回答
热心网友
时间:2022-06-21 07:22
struct A{float m[3];}
float val(struct A &p)
{
float len = sqrt(pow(p.m[0],2)+pow(p.m[1],2)+pow(p.m[2],2));
p.m[0] /= len;
p.m[1] /= len;
p.m[2] /= len;
return len;
}
点评:这个函数就算法本身而言,可优化的地方已经比较小。但考虑数据的维数是确定的,而且只有三维。所以应该避免用循环,循环本身是要消耗资源的。所以将循环变成表达式可以达到优化的效果。从理论上讲,这样一改动,将算法的复杂度从O(2n)变成了O(1)。
热心网友
时间:2022-06-21 07:22
分享否?
是否可以解决您的问题?