立个flag:非科班生出身,数据结构与算法相对薄弱,能不能在空余时间坚持学点东西,做个笔记?!
学习途径:
极客时间
为什么要学习数据结构和算法?
- 直接好处是能够有写出性能更优的代码
- 算法,是一种解决问题的思路和方法,有机会应用到生活和事业的其他方面
- 长期来看,大脑思考能力是个人最重要的核心竞争力,而算法是为数不多的能够有效训练大脑思考能力的途径之一
怼人会更加自信,跳槽也不用畏畏缩缩
数据结构和算法是什么
- 数据结构是指一组数据的存储结构
- 算法就是操作数据的方法
- 数据结构和算法是相辅相成的,数据结构是为算法服务的,而算法要作用在特定的数据结构之上
学习的重点在什么地方
20 个最常用的、最基础的数据结构与算法,不管是应付面试还是工作需要,只要集中精力逐一攻克这 20 个知识点就足够了。
- 10个数据结构:
数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树 - 10个算法:
递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法
在学习数据结构和算法的过程中,要学习它的来历、自身的特点、适合解决的问题以及实际的应用场景。
PS: 以下图片几乎涵盖了所有数据结构和算法书籍中都会讲到的知识点

感谢
极客时间提供的课程《数据结构与算法之美》。