数据结构和算法入门

一.为什么要学习数据结构和算法

   面试大厂
  • 如果自己以后想在大厂发展,数据结构和算法是必须具备的技能,无论是校招还是社招,大厂都喜欢让人手撕算法代码。

业务开发工程师

  • 虽然整天都是使用CRUD,但是想要用好,用对类库,就需要了解它们的设计原理(数据结构),时间、空间复杂度分析等。
  • 我们还会使用到各种框架,中间件和底层系统,譬如Spring、RPC框架、消息中间件、Redis等,里面有很多基础的数据结构和算法的设计思想。
  • 掌握数据结构和算法,对于阅读源码,理解背后的设计原理都非常有用。

基础架构开发工程师

  • 比如设计RPC框架,想达到开源水平,必须在算法优化,数据存取效率,内存节省等方面比别人更胜一筹。
  • 性能好坏是该能力的一个非常重要的评判标准,如果连程序的时间、空间复杂度都不会分析,很难写出性能较优的代码。

中年危机

  •  很多人认为,程序员 35 岁之后很容易陷入瓶颈,被行业淘汰。其实就是说如果你不懂数据结构与算法, 35 岁之后很难再有提升,也容易被年轻程序员所取代。数据结构与算法就是一个可积累的技能。在金庸小说里面,一个人练降龙十八掌,一个人练全真教内功,刚开始,练内功的被吊打,十年后依然被吊打,但二十年后,降龙十八掌就怎么也打不过练内功的了,算法和数据结构就是内功,降龙十八掌就是各种框架,再怎么熟悉框架,也不如了解它内部的算法和数据结构。

 

二.数据结构是什么

           定义:是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。

三.常用的数据结构

 

四.算法是什么

  就是操作数据的一组方法,数据结构和算法是相辅相成的,数据结构是为算法服务的,算法要作用在特定的 数据结构之上。

五. 常见的算法

学习这些内容主要从这几个方面的入手:

    是要学习它的“来历”“自身的特点”“适合解决的问题”以及“实际的应用场景。

 

猜你喜欢

转载自www.cnblogs.com/xiaofuzi123456/p/11595077.html
今日推荐