这个题目,其实网上搜一下,一大筐答案。所以这里来点干货,来点不一样的东西。
这个事情我认为要分两面来看。
如果你一辈子只是做应用级别的开发,只是简单的CRUD,或者说不想一辈子从事应用研发的工作,那我个人觉得完全没有必要浪费时间和精力(ps:确实占用的时间比较多,还不如腾出这些时间做别的事情)专门去学习算法。
当然如果你还有一定的追求,想35岁之后(ps:很多人会说,谁能想得到35岁之后的事情,所以请你提前规划好自己的生涯,再多说两句,如果你确实热爱编程,感觉对编程有一定的悟性,我觉得你可以一直从事下去,如果你讨厌编程,仅仅是因为工资高,我觉得你不一定干的长,干得好),还继续从事技术相关(包括技术管理)的工作,我建议从现在开始算法之旅,坚持每日一题即可(顶多花费你半个小时)。
很多人觉得,算法太难了,学不动啊。。所以给自己立一个flag,每天花费30分钟到1个小时,每日一题即可,如果不会,对着答案照抄,然后debug一遍,把debug的每一步,再捋一遍。。然后不看答案,再写一遍试试。如果还是不会,那么在照抄一遍,循环往复。
很多人羡慕那些天才,请记住,天才只是在你玩手机,玩游戏的时候,在努力的学习罢了,不要觉得他们有多么的牛逼,只要你智商没问题,坚信你一样可以。
为什么要学习算法?
一个是算法是技术的基础根本,算法就是数据结构的具体体现。有很多底层的代码都是算法和数据结构,在你阅读源码的时候,不至于一脸懵逼。所以也建议你,学习算法前,先把数据结构了解透。
再一个是锻炼你的逻辑思维能力,人生下来是没有逻辑思维能力的,这个能力是为数不多,可以后天培养的,尤其是等你30岁以后,你要想不被淘汰,逻辑思维能力还在,请学习算法。
如果按我的方式,坚持一年,回过头来看看我有没有忽悠你。
就说这么多吧。