算法是否重要

 ACM ,从某种角度上来说不能说它很重要吧, 因为,你学习了它两三年之后,不一定是牛人! 牛人出来咱就不说,“销路”肯定很好了。 如果,混的不是很咋地,那么你出来 很多中小型公司一般都不需要你这样的人。 为什么呢? 因为ACM 重在算法设计方面的,而一般的中小型公司对这个要求不是很高,他们只要做写网站呀,办公软件什么的,事务流程处理方面的,即使偶尔碰到一般的不是非常复杂 的算法方面的,请教人就可以了。
这个就和做项目不一样呀, 是不是? 在大学做了一两年项目,效果明显呀。 咔,什么JAVA 呀,JSP,ASP, strut ,spring ,java , ajax 一堆 啥东西都了解些,出去可以直接上手不是? 外面中小型公司就喜欢这样的,出来就能干活的。 所以学习做项目出去找事做容易。
但是呢,话说回来了,做项目这个东西嘛,如果你只停留在不停的只是使用别人的框架控件,拿来合理的组和起来使用,处理一些流程事务,搞范围窄,搞多了,总那些东西,只是不断重复的写代码。结果就像代码工人一样。

在说说ACM, ACM 是考算法。ACM 里面代码长的不一定就很牛逼(有些人老是喜欢把代码长度来作为衡量),别人一个不到百来行代码就是短小,精悍,就是胜过你那几百行的代码。 别人代码跑起来,就是比你快,比你耗空间少。 这是为什么? 别人的算法,思路比你更加高明。 别人的代码,就是赤裸裸的放在你面前,你就是搞不懂他这是为什么? 这种搞不懂,和你那种学习新知识不一样。新知识,要么是不懂语句意思,或者不清楚其底层结构而搞不明白。 这种搞不懂,是你不知道为什么这么解决问题,不明白他用的是什么思路。 ACM 是智慧的比拼。
搞过ACM 的人,如果再做项目或编程其它的,肯定有个惯性思维就是: 这种方法实现好不好,会考虑效率怎么样的问题。如果现在 这种效率低,你总会不自觉的去想如何解决这种低效率问题。 而且,搞ACM 后,写的代码肯定要比以前紧凑些。 因为在ACM 有时方法上一样,但是你实现起来,别人跑的速度明显比你快。所以你会慢慢不自觉的养成写成高效率的代码的习惯。

我总是觉得,如果做界面,数据流程控制是外表的话,那么算法是核心。而且,如果你对算法有了很精通,那么对你以后的计算机进一步发展有很大帮助。 为什么呢? 因为,计算机编程深层的东西,往往牵涉到算法方面的知识。因为,深一点的总是需要更高的效率和更少的空间需求。 如果你要做出一个高效的东西出来呀。 高效东西做出来,不是人人都能做的,思路肯定要比别人先进呀。比如:你做个路径地图查找位置的软件,你查找一个简单的图跑个几分钟,甚至几十分钟,抑或更 恐怖就是“Windows office 系统,嘎~~ 死了~”,这样你的界面做的再漂亮,你的数据传输,逻辑控制再好,就是赶不上别人界面简单(抑或更简单些,就dos 那种黑屏界面),但能几秒钟内搞定的东西。
当然,这说的有些片面了些。 说点薄见,肯定有不适之处。 我现在上论坛,常常看到有些做项目的人 说: 现在如果项目一牵涉到算法方面的就头痛。 CSDN 上一个 专家也提到如果在计算机方面有更深的发展,算法是很重要的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值