对于多数的计算机类专业大学生来说,acm已经成为算法的代名词,对于算法该不该学,以及学完的价值问题(当然,估计没人学的完,应该算学过吧……),个人观点如下:
首先,算法没有错!!!对的,但是,算法和程序员~(= - =~),嗯。。。,没必然联系。
举个简单的例子,大家都上过学,身边应该多多少少有一些参加奥赛的同学,我个人玩过奥数,因此也算比较有发言权。算法其实我觉得类似于奥数,怎么说呢,学过之后有用吗?我觉得有用,但是!!奥数和数学课,应试数学却没有直接联系,奥数的有用在于,在以后的数学学习中,我研究问题的思路开拓了,所以常常造成一种,同学某某:哇塞,你数学真好,早知道我也学奥数了,都怪我妈(爸)不送我去学。 but,拍醒,同学,我就算是学奥数,当初在奥数班也是属于有些天赋的啊喂。。。所以,其实奥数我个人是作为一种闲暇时的兴趣,因此也并没有靠着他来破格被录取什么的,甚至我的奖状也只是。。。奥数班的测试得来的,但是让我去参赛,说实话,我是不愿意的,实力比我差的有去参加过奥数比赛,成绩不错,但是我个人认为像我这种只是把奥数当成一种娱乐的,花个个把月来训练做题套路啊,研究题型啊,讲真,就违背我的初衷了,甚至会让我对奥数产生抵触心理。
因此,来到大学,我也尝试过acm集训,但是啊。。。真的,我只是想安安静静的看个算法,当做是对奥数乐趣的延续,但是acm集训这个东西,就如同奥数比赛,将我对算法的热情打入冷宫,为什么呢?因为实际上,算法本身提供的是一种思想,和语言输出没什么关系,其实个人看来,算法应该算数学类而非计算机类,只是现在被计算机类利用的比较广泛,而参加acm集训,老师会让你从做题出发来看算法,如果你本身是对算法感兴趣,可能会和我一样反感这种做法。
但是acm其实本身也是挺有意思的,我身边很多学长都参加过acm集训,有些一直坚持着,并且经常各地参加比赛,前段时间就去过北京,但更多的,参加完省赛之后,或者只是培训到一半,停下acm,改做项目或者着手考研,但是,他们经常会刷刷oj,我想你们可能会好奇,不参加acm了,为什么要刷oj,我也曾问过他们,之后得知,他们虽然放弃了acm,但是却并不否认刷题的乐趣,把刷oj当做项目或研究考研书累了之后的娱乐,毕竟,选择当程序员,就要把撸代码当做一个常态才会有提高,除非你天赋异禀。
我也问过工作几年的前acm队学长们,他们大多都会说,真正的工作没有算法,有的就是以前做项目的经验。
所以,你如果对算法及acm有疑虑的,我猜多半是想通过学习这些来为以后的工作啊什么的提高offer率,如果是这样,我可以说,醒醒吧,多做点项目,多接触点语言,学好英语会更有用,但是如果你是本身就对算法或者acm竞赛有兴趣的,那么,继续做下去,不要后悔,就像我当初奥数那般,这其实和大学参加社团一样,是一种娱乐,更直观的说他的价值,你可以靠着比赛的成就让学校拿钱边比赛边旅游,而且一起组队打比赛的队友也是你以后无可替代的朋友,或者,你真的有天赋,以后照样可以靠着培养其他参赛者等的谋生,或者做acm大牛,我没达到那个水准,所以对于这方面的我没有发言权。
我的老师曾在我放弃acm时对我说过,学算法才能有提高,你不学算法的话以后发展会受限的,我承认老师的话,但是,首先各位,请先认识清楚一个事实,算法对你发展的帮助前提是你做做开发什么的,但是如果你做安卓,做网站前后端等,我想说,安心做做项目积累经验就好,足够了,但是,我其实只是放弃acm,因为我依旧觉得,比赛只是一个证明自己的平台,我学习算法,想看学习程度,做做oj,打打网赛足矣。
如果你们还有什么疑问,留言告诉我,看到的话我会回复的,当然,我觉得我说的已经很透彻了,想得到更好地offer来参加acm,没这个必要,算法方面看面试秘籍更有用,但是抱有兴趣的同学们,也不要有疑虑,这是属于你自己的经历,你也会获得乐趣。
来源:CSDN
作者:babybuger
链接:https://blog.csdn.net/babybuger/article/details/77418108