为什么要学习数据结构与算法?
1、通关大厂面试
校招:学生通常没有实际的项目经验,考察他们的基础知识是否牢固;
社招:更注重长期潜力; 公司越厉害,越重视数据结构与算法这类基础知识。
2、业务开发需要
即使不需要自己实现但需要了解;
阅读代码,理解其设计思想非常重要。
3、基础架构研发需要
高手之间的竞争在细节,你用的算法是否优化,数据存取效率是否高,内存是否节省。
4、不被行业淘汰
要有长远规划,编程能力强,性能是一个指标。
经常有人说,程序员 35 岁之后很容易陷入瓶颈,被公司辞退,被行业淘汰,和没有掌握数据结构与算法有密切关系,前Google工程师王争说,他曾经面试过很多大龄候选人,简历能写十几页,经历的项目有几十个,但是仔细看下来,每个项目都是重复地堆砌业务逻辑而已,完全没有难度递进,看不出有能力的提升。
总结:数据结构与算法是计算机专业核心基础课,是必须要掌握的,对于提高编写代码的质量具有重要意义,你看待问题的角度和思考问题的深度会明显和没掌握的不一样。