网上的蜘蛛
分类:
2009-04-17 21:07:34
先不说太多,能比较顺利的结束,还要说说一个算法,我们在比对的结果中得到了很 多数值,可是我们要在这些数值中找到与正确解相邻的数值,然后去平均来作为下一步算法的输入参数。所以这个平均值对后面的计算结果尤其重要。之前我们尝试 过一些方法。比如全部先取平均,然后去除离平均值最大的数值,这样重复几次之后,留下的应该是比较理想的结果。可是事与愿违。在找同学商量之后,发现一下 的算法还不错。比如:你要在这些数值中,找到三个最相近的数,那么先把这些数值排序,然后每隔一个做减法取绝对值,然后在这些绝对值中取其最小值,那么这 个最小值对应的三个数就是最后的答案。
我测试了下:
|
结果还可以,用在项目上也比以前的效果好。虽然不能全部的问题,但是正确率提高了很多。在使用概率的算法之前,这个算是比较理想的了。多谢Day 。
突然觉得,我们之前写了那些程序,其实还有许多需要优化的,只不过老师要求从 Java转到C++,才没有去认真的考虑。首先,项目是分工的,我们两个人一起写,命名方式都五花八门,更不用说一看变量名,就知道作具体用途啦。所以一 旦在代码整合之后,发现很难调试。中间尝尽了不少苦头。所以在写C++之前,我们需要把需要的那些数据结构先定义好。避免后面又乱了。
还有就是,就是碰到不知道是程序代码问题,还是算法本身问题的时候。请不要想苍 蝇那样到处乱撞。要学会用某种方法来辅助调试,打印中间运行结果,如果需要的话,可以人工计算与电脑计算相结合,比较中间可能出现的问题。有时候这一招很 管用,至少可以让你知道是代码的错误还是算法本身的缺陷,因为如果比较复杂,事先可能考虑不周到,经验有限,所以只能使用这个比较笨的方法。
呵呵,又是周末,这学期课程增多,而且还是一些比较偏的课程,智能信息系统和计算机组成结构。够我折腾的。谁会SysemC的,可以帮忙指导下啊。还有很多琐碎的事情,哦,对了忘记了把TA作业带回来批改了,算了,也好,休息下先