关于算法、code jam

      前些时候无意之中看见google code jam,虽然力邀兄弟姐妹一块参加,只有王箴同学一个人报名了。自己也没有认真考虑这个东西,一是感觉应该很难,而是也不是很十分积极。所以也就没有准备了。赛前一题都没有做过,连一些要求,因为是英文的也就没有看。所以结果是可以预期的,一个题目都没有做出来,现在还是挺后悔的,又一个机会从我前面溜走了。

 

但是这之后的两天,再开始想这个题目,感觉也不是很难,但是需要很认真的仔细的分析。这两天终于把A、C两题解决了。B题没有看懂啥意思,所以也就不愿意看了。

 

下面总结几点经验教训:

 

1、首先态度很重要,做任何事情,态度是最要的,态度不端正,什么事情都办不好。

 

2、机会只给有准备的人。因为前面态度的问题,所以没有好好准备,事前也没有做练习题,比赛规则什么都没有认真看,连什么时候开始都不是很清楚,不是师弟告诉我没有想参加了。所以理所当然的不能把握这个机会。我相信如果准备了,结果应该会比这个好的多。

 

3、基础不扎实。如果基础好,扎实;那么虽然会出现前面的问题,后来做题的过程中也能够从容地面对,然后解答。

 

4、分析问题、解决问题的能力:   这两个还有待提高,前面第一个题目,因为只分析道一部分,没有进一步分析,分析的不够充分,就急着写代码,所以一直都通不过。所以分析问题,思考程序算法的时间一定要认真,一定要认认真真地分析,思考每一个条件。全面仔细!

 

 

5、算法威力无穷,数学很重要:  好的算法与差的算法,相差千万倍不止,!算法真是威力无穷的,所以思考问题的时候一定要考虑好的算法。思考的过程中可以想想这个题目可能可以用到我们学过的什么东西来解决?能否解决,用别的会不会好一点? 算法题,数学是很重要的,所以还得加强数学学习!

 

6、程序的性能评估、时空评价:一个算法出来了后,一定要对自己的算法进行时间和空间的评估,分析较,大约需要多长时间。设CPU为1G,则1G=1*10^3*10^3*10^3 ,既每秒CPU运行10^9 次指令,所以要先自己估算样差不多需要运行多长时间。 另外还可以使用clock来计算实际的程序运行时间。

 

7、程序优化:当程序的性能出来了后,就要考虑关键位置的优化了,能够减少循环能的计算次数、能否减少循环的层次等等。

 

8、总结经验教训,认识不足,以备以后学习提高。

 

9、差距啊!差距为啥差距这么大呢?与别人的差距是存在的,所以应该认识到自己的不足,然后需要好好学习!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值