语言只是工具,而算法才是程序的灵魂。这句话,我估计你在编程之路上,已经听到过无数次。但具体到工作里,你是不是还会有下面这样的困惑?数据结构和算法,跟 *** 作系统、计算机网络一样,是脱离实际工作的知识。除了面试,我可能这辈子也用不着。就算不懂这块知识,只要 Java API、开发框架用得熟练,我照样可以把代码写得“飞”起来。那今天我就来详细聊一聊,为什么要学习数据结构和算法。
首先我先问你个问题,作为一名开发工程师,你真的愿意做一辈子的 CRUD boy 吗?我知道,大部分的程序员整天做的事情就是增删改查,在所谓的“业务开发”工作里,更多的是利用已经封装好的现成的接口、类库来堆砌或者翻译业务逻辑,这其中很少需要数据结构或者算法之类的知识。但是,不需要自己实现,
并不代表什么都不需要了解。举个例子,如果你不知道这些类库背后的原理,不懂得时间、空间复杂度分析,那你又如何有信心能用好、用对它们?存储某个业务数据的时候,你如何知道应该用 ArrayList,还是 LinkedList 呢?调用了某个函数之后,你又该如何评估代码的性能和资源的消耗?初级程序员才比招式,高级程序员只看内功。一个简单的 ArrayList、Linked List
的选择问题,就可能会产生成千上万倍的性能差别。这个时候,数据结构和算法的价值就完全凸显出来了。
如果你理解他们背后对应的数据结构,那就可以迅速看到这些类背后的本质区别,那个时候,你根本不用死记硬背,自然理解什么样的场景里该选择什么。在西安交大读研究生的时候,一个师兄给了我一本《算法导论》,从此我便一头扎进算法世界,到现在也十多年了。这期间,我研究过数十本数据结构与算法的书籍,并对它们进行了仔细地对比、分析。
程序员界的大牛,概括来说分两种:一种是天生有天赋,对程序的思维想法,就是比一般人精准敏锐;一种是没有天赋,但十分努力刻苦,日复一日年复一年,最终成为对技术非常娴熟的人。
第一种就不用说了,先天资本。
那对于第二种情况,江西计算机学校>
以上就是关于为什么程序员普遍缺乏数据结构和算法的知识全部的内容,包括:为什么程序员普遍缺乏数据结构和算法的知识、北大青鸟java培训:程序员是怎样突破瓶颈成为大神的、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)