什么是数据结构?什么是算法?
从广义上讲:
数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。
从狭义上讲:
是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。
数据结构与算法的关系:
数据结构和算法是相辅相成的。
数据结构是为算法服务的,算法要作用在特定的数据结构之上。
**
学习的重点在什么地方?
- 首先要掌握一个数据结构与算法中最重要的概念——复杂度分析
**

这张里面几乎涵盖了所有数据结构和算法书籍中都会讲到的知识点,但作为初学者,或者一个非算法工程师来说,你并不需要掌握图里面的所有知识点。
3. 20 个最常用的、最基础的数据结构与算法
10个数据结构:
- 数组
- 链表
- 栈
- 队列
- 散列表
- 二叉树
- 堆
- 跳表
- 图
- Trie 树
10个算法:
- 递归
- 排序
- 二分查找
- 搜索
- 哈希算法
- 分治算法
- 回溯算法
- 动态规划
- 字符串匹配算法
**
一些可以让你事半功倍的学习技巧
1. 边学边练,适度刷题
边学边练”这一招非常有用。建议你每周花 1~2 个小时的时间,集中把这周的三节内容涉及的数据结构和算法,全都自己写出来,用代码实现一遍。这样一定会比单纯地看或者听的效果要好很多!
2. 多问、多思考、多互动
学习最好的方法是,找到几个人一起学习,一块儿讨论切磋,有问题及时寻求老师答疑
3. 打怪升级学习法
学习的过程中,我们碰到最大的问题就是,坚持不下来。所以,我们在枯燥的学习过程中,也可以给自己设立一个切实可行的目标,就像打怪升级一样。
4. 知识需要沉淀,不要想试图一下子掌握所有
学习知识的过程是反复迭代、不断沉淀的过程。
