- 正在学习的算法课程:极客时间的王争老师的《数据结构与算法之美》
- 传送门: https://time.geekbang.org/column/126
- 目前学到第三讲,很良心,共56讲,推荐想学数据结构的同学
- 2019年互联网算法岗面试普遍难,更何况我这种半路出家,和计科抢饭吃,数据结构是必须要会的,发现一个良心教程,绝对不是什么笔试自闭啊等原因
1. 通篇导论
2019/09/20
一、数据结构和算法是什么
- 数据结构是指一组数据的存储结构
- 算法就是操作数据的方法
- 数据结构和算法是相辅相成的,数据结构是为算法服务的,而算法要作用在特定的数据结构之上
二、学习的重点在什么地方
数据结构和算法解决的是如何更省、更快地存储和处理数据的问题,因此,我们就需要一个考量效率和资源消耗的方法,这就是复杂度分析方法。在学习数据结构和算法的过程中,要学习它的「来历」、「自身的特点」、「适合解决的问题」以及「实际的应用场景」。
- 数据结构和算法学习的精髓-复杂度分析
- 最常用的、最基础的10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树
- 最常用的10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法
三、快速转化为本能
- 边学边练,适度刷题
建议每周花 1~2 个小时的时间,集中把这周的三节内容涉及的数据结构和算法,全都自己写出来,用代码实现一遍。
对于刷题需求:可以“适度”刷题,但一定不要浪费太多时间在刷题上。我们学习的目的还是掌握,然后应用。 - 多问、多思考、多互动
- 打怪升级学习法
给自己一个正向反馈,坚持到最后 - 知识需要沉淀,不要想试图一下子掌握所有
没有速成!没有速成!没有速成!速成的课程都是骗人的!看不懂反复看,上网看解析,你是最棒的
此网站可以将指定算法可视化:www.cs.usfca.edu/~galles/visualization/Algorithms.html