1.何为数据结构
- 数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的 数据元素的集合。本质来讲就是在内存中去管理数据方式比如我们的增删查改。
- 在内存中管理数据的方式有很多种(比如数组结构、链式结构、树型结构、哈希结构等),之所以需要很多很多的结构来对我们内存中的数据进行管理是因为实践中会有各种各样的需求,不同的结构有不同的优劣。
2.何为算法
- 算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为 输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。
- 算法本质上是对我们内存中的数据进行处理,以便达到某种目的或者得到某种结果。比如排序和查找
3.数据结构和算法的重要性
- 在社招和校招的笔试中:公司对应聘者的代码能力要求越来越高,大厂的笔试题目中几乎全是算法题,难度看着很困难,实际一点也不简单。
如某团笔试题目:
- 在面试中,面试官也会现场写代码。
如腾讯面试题目:
①如果一款产品给你怎么检测内存泄露?
②红黑树的原理、时间复杂度等;
- 在各种竞赛中,掌握算法不仅能够高效解题,有时也是竞赛考察的目的题目之一。
4.数据结构和算法书籍推荐
学习算法是重要的,在即将开启的算法与数据结构的旅程中,也需要资料书朋友的陪伴,下面就推荐基本经典的算法与数据结构参考书籍:
①《剑指offer》
这本书上面的题目经典,分析详细,题目很多和leetcode上的题目是一样的,我甚至理解题目出处在这本书里。
②《算法图解》
这本书图文并茂,非常推荐。
5.结语
算法的学习需要多思考多练,更需要时间的沉淀,希望我们都能逆流而上,一起加油。
创作不易,大家如果觉得还可以的话,欢迎大家三连,有问题的地方欢迎大家指正,一起交流学习,一起成长,我是Nicn,正在c++方向前行的奋斗者,感谢大家的关注与喜欢。