如何抓住重点,系统高效地学习数据结构与算法?
实际上,数据结构和算法的东西并不多, 常用的、基础的知识点更是屈指可数。
概念
从广义上讲,数据结构就是指一组数据的存储结构。 算法就是操作数据的一组方法。
从狭义上讲,也就是我们专栏要讲的,是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。
10 个数据结构
数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树
10 个算法
递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法
学习思路
来历
自身的特点
适合解决的问题
实际的应用场景
学习技巧
1. 边学边练,适度刷题
即便是 BAT 这样的公司, 只要彻底掌握这个专栏的内容,就足以应对。
每节课的数据结构和算法都全部写出来
2. 多问、多思考、多互动
在留言区增加自己的留言
看评论区留言
3. 打怪升级学习法
每节课后都写一篇学习笔记或者学习心得
每节课都找一下我讲得不对、不合理的地方
4. 知识需要沉淀,不要想试图一下子掌握所有
先易后难
实战
剖析Redis常用数据类型对应的数据结构
剖析搜索引擎背后的经典数据结构和算法
剖析高性能队列Disruptor背后的数据结构和算法
剖析微服务接口鉴权限流背后的数据结构和算法
如何用学过的数据结构和算法实现一个短网址系统?