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