你可以不学, 认识很多高级的开发职位的人也说用不到算法, 但他们基本都是在一些中小公司做游戏之类的, 确实用不上什么算法.
但是技多不压身, 不会算法很难跳到好公司.
算法就像英语, 很多工作都用不着, 但是会英语可以给你的未来带来很多"可能性"
如果你从事的领域不是算法密集的领域,需要时再学也来得及,有这个意识即可。
关键是看你的目标了。
如果做数据库应用方面的项目,增删改查一般的编程,基本上不用算法。
但要是深入到数据存储的底层,还是算法支撑的。可以参见数据库实现原理。从这个角度看,SQL Script无非是对算法的一种封装。
国外有的大学,数据库课程就实现一个数据库,操作系统课程就实现一个操作系统,编译原理课程就实现一个计算机语言。窃以为这才学的扎实。
理解了底层,遇见任何问题都能深入解决。
深入理解一个东西后,做出来的也就不一样。
很久以前,我因兴趣用遗传基因编程的算法做过贪吃蛇的进化,进化若干代后,贪吃蛇能自己找食物吃。
这属于机器学习领域,不懂算法基本上就白瞎。
我做报表引擎时需要表达式解释器,就需要自动机,二叉树递归遍历等算法。
最后作出的引擎能够所见即所得设置,几倍提高编程效率。
最近开始向数据挖掘方向转,不但要看算法,还需要学很多数学。
PS, 算法是面试时非常重要的指标。去刷一刷大公司用的算法题库,就知道算法要学到什么程度了。
算法这玩意的价值和工作量没多大关系,主要拼智商和经验。你写其他代码,往上写,要赚更多的钱,就要更强大的团队或更多的代码。
算法不一样。一天完成的算法,它的价值可能是几千、几万、几十万、几百万或者更多钱。
我的一个不到二百行的算法,在 ourcoders 上卖了7000块钱(没宣传,就是有人需要时回了下)。这个算法过去一年多卖了2万多。除了写了篇博客外,没做其他宣传。最开始要源码的我免费提供,后来500提供,后来2000-5000提供。这是我重复销售的最简单的算法。
算法类的工作就是:要么卡壳卡到死,要么噼里啪啦一会就出来了。
这是我以前发的一篇: http://ourcoders.com/thread/show/3203/