跟着Datawhale的开源项目学习数据结构与算法,打算先用python练习一遍,等掌握C++ 后,再使用C++ 练习一边。同时存放我刷的另外的一些算法题。
- 超详细的「算法与数据结构」基础讲解教程,「LeetCode 200+ 道」经典题目的详细解析。
- 本项目易于理解,没有大跨度的思维跳跃,项目中使用大量图示、例子来帮助理解。
- 本项目先从基础的数据结构和算法开始讲解,再针对不同分类的数据结构和算法,进行具体题目的讲解分析。让学习者可以通过「算法基础理论学习」和「编程实战学习」相结合的方式,彻底的掌握算法知识。
- 本项目从各大知名互联网公司面试算法题中整理汇总了「100 道高频面试题」,帮助面试者更有针对性的准备面试。
- 项目总共 8 个章节,其中第 01 ~ 05 章节为「算法与数据结构知识」,第 06 ~ 07 章节为「100 道高频面试题汇总」,第 08 章节为「各章节习题解析」。
- 项目中 的第 01 ~ 07 章节,每一章节对应「一个学习周期 / 一期组队学习安排」,对应学习时间为 14 ~ 16 天,每个学习周期 / 每期组队学习对应 42 ~ 50 道经典 LeetCode 题目。
- 章节中每一小节对应「一个学习专题 / 一次打卡任务」,对应时间为 1 ~ 5 天。
- 小节中每天都有对应的「学习内容」和「练习题目(每天 3 道)」。
- 每天平均花费时间 1 ~ 3 小时不等,根据个人学习接受能力强弱有所浮动。
- 推荐先浏览项目主页的项目介绍,然后按顺序阅读 01 ~ 07 章内容。
- 从未刷过算法题目的同学,推荐先看下 「01.01.03 LeetCode 入门及攻略(第 01 ~ 02 天)」 相关内容,对应链接为:网页链接、Github 链接。
- 零基础或者想综合学习算法基础知识的同学,推荐按照项目中制定的学习周期进行专题学习。建议先学习 01 ~ 05 章节的算法基础知识。然后再学习 06 ~ 07 章节的面试题目。
- 近期有面试需求的同学,推荐直接学习「06. 面试篇(上)(共 16 天)」、「07. 面试篇(下)(共 16 天)」这两期相关内容。
- 可在看完每日的学习内容之后,选择每日对应的练习题目进行巩固练习。
- 做完每日练习题目之后,如有余力,可通过相关专题下的题目清单进行拓展练习。
| 章节标题 | 链接地址 |
|---|---|
| 01.01 数据结构与算法简介、LeetCode 入门及攻略(第 01 ~ 02 天) | 网页链接、Github 链接 |
| 01.02 数组基础(第 03 ~ 04 天) | 网页链接、Github 链接 |
| 01.03 数组排序(第 05 ~ 08 天) | 网页链接、Github 链接 |
| 01.04 数组二分查找(第 09 ~ 11 天) | 网页链接、Github 链接 |
| 01.05 数组双指针、滑动窗口(第 12 ~ 14 天) | 网页链接、Github 链接 |
| 章节标题 | 链接地址 |
|---|---|
| 02.01 链表(第 01 ~ 04 天) | 网页链接、Github 链接 |
| 02.02 堆栈与单调栈(第 05 ~ 07 天) | 网页链接、Github 链接 |
| 02.03 深度优先搜索(第 08 ~ 10 天) | 网页链接、Github 链接 |
| 02.04 队列与优先队列(第 11 ~ 12 天) | 网页链接、Github 链接 |
| 02.05 广度优先搜索(第 13 ~ 14 天) | 网页链接、Github 链接 |
| 02.06 拓扑排序(第 15 天) | 网页链接、Github 链接 |
| 章节标题 | 链接地址 |
|---|---|
| 03.01 哈希表(第 01 ~ 02 天) | 网页链接、Github 链接 |
| 03.02 字符串与字符串匹配( 第 03 ~ 07 天) | 网页链接、Github 链接 |
| 03.03 二叉树(第 08 ~ 10 天) | 网页链接、Github 链接 |
| 03.04 二叉搜索树(第 11 ~ 12 天) | 网页链接、Github 链接 |
| 03.05 并查集(第 13 ~ 14 天) | 网页链接、Github 链接 |
| 章节标题 | 链接地址 |
|---|---|
| 04.01 枚举算法(第 01 ~ 02 天) | 网页链接、Github 链接 |
| 04.02 递归算法与分治算法(第 03 ~ 06 天) | 网页链接、Github 链接 |
| 04.03 回溯算法(第 07 ~ 09 天) | 网页链接、Github 链接 |
| 04.04 贪心算法(第 10 ~ 12 天) | 网页链接、Github 链接 |
| 04.05 位运算(第 13 ~ 14 天) | 网页链接、Github 链接 |
| 章节标题 | 链接地址 |
|---|---|
| 05.01 动态规划基础、记忆化搜索( 第 01 ~ 02 天) | 网页链接、Github 链接 |
| 05.02 线性动态规划(第 03 ~ 06 天) | 网页链接、Github 链接 |
| 05.03 背包问题(第 07 ~ 09 天) | 网页链接、Github 链接 |
| 05.04 区间 DP 和 树形 DP(第 10 ~ 12 天) | 网页链接、Github 链接 |
| 05.05 状压 DP、计数 DP 和数位 DP(第 13 ~ 15 天) | 网页链接、Github 链接 |
| 章节标题 | 链接地址 |
|---|---|
| 06.01 第 001 ~ 012 题(第 01 ~ 04 天) | 网页链接、Github 链接 |
| 06.02 第 013 ~ 025 题(第 05 ~ 08 天) | 网页链接、Github 链接 |
| 06.03 第 026 ~ 037 题(第 09 ~ 12 天) | 网页链接、Github 链接 |
| 06.04 第 038 ~ 050 题(第 13 ~ 16 天) | 网页链接、Github 链接 |
| 章节标题 | 链接地址 |
|---|---|
| 07.01 第 051 ~ 062 题(第 01 ~ 04 天) | 网页链接、Github 链接 |
| 07.02 第 063 ~ 074 题(第 05 ~ 08 天) | 网页链接、Github 链接 |
| 07.03 第 075 ~ 087 题(第 09 ~ 12 天) | 网页链接、Github 链接 |
| 07.04 第 088 ~ 100 题(第 13 ~ 16 天) | 网页链接、Github 链接 |
| 章节标题 | 链接地址 |
|---|---|
| 01 章节习题解析 | 网页链接、Github 链接 |
| 02 章节习题解析 | 网页链接、Github 链接 |
| 03 章节习题解析 | 网页链接、Github 链接 |
| 04 章节习题解析 | 网页链接、Github 链接 |
| 05 章节习题解析 | 网页链接、Github 链接 |
| 06 章节习题解析 | 网页链接、Github 链接 |
| 07 章节习题解析 | 网页链接、Github 链接 |
| LeetCode 题解(字典序排序) | 网页链接、Github 链接 |
| LeetCode 题解(按分类排序) | 网页链接、Github 链接 |
