前言
准备秋招的过程中需要不断对自己的知识储备进行丰富,按类补充会让自己的知识体系更加完整。
同时,考虑到秋招时间紧张,平时吸收的更多的可能是碎片化的重点、难点,不能东一块西一块,需要来一个梳理,做一个综合。
1. 理论知识
1.1 机器学习
1.2 深度学习
1.3 数学知识
1.4 开发(CS基础)
2. 代码能力
2.1 数据结构与算法(剑指offer, LintCode,LeetCode)
2.2 语言(C++, Python, Scala, Go)
3. 工程能力
3.1 大数据相关(Hadoop, Spark, Hive)
3.2 机器学习中的问题(预处理,调参,bad case分析)
3.3 TF, sklearn的使用
3.4 Kaggle不同类型的题目都有哪些基本的解决思路
刷题分类参考
1:链表
1. 链表的必备知识要点(包括基础知识、刷题中使用的STL等知识)
2. 链表逆序(LeetCode 92,206)
3. 求两个链表的交点(LeetCode 160)
4. 链表的节点交换(LeetCode 24)
5. 链表求环(LeetCode 141,142)
6. 链表重新构造(LeetCode 86)
7. 复杂的链表复制(LeetCode 138)
8. 排序链表合并(2个与多个) (LeetCode 21,23)
2:栈、队列、堆
1. 栈、队列知识要点与实现(数组、链表)
2. 使用队列实现栈(LeetCode 232)
3. 使用栈实现队列(LeetCode 225)
4. 包含min函数的栈(LeetCode 155)
5. 简单的计算器(栈的应用)( LeetCode 224)
6. 堆(优先级队列)知识要点与实现
7. 数组中第K大的数(堆的应用) (LeetCode 215)
8. 寻找中位数(堆的应用)( LeetCode 295)
3:贪心
1. 贪心算法知识要点,刷题必备的STL知识
2. 贪心题目1(LeetCode 455)
3. 贪心题目2(LeetCode 402)
4. 贪心题目3(LeetCode 134)
5. 贪心题目4(LeetCode 135)
6. 贪心题目5(LeetCode 502)
7. 贪心题目6(LeetCode 321)
8. 贪心题目7(codeforces 582A)
4:递归、分制、回溯
1. 递归的知识要点,回溯算法
2. 生成组合数(LeetCode 39)
3. 生成排列数(LeetCode 46)
4. N皇后问题(LeetCode 51)
5. 分制算法知识要点
6. 快速排序算法与经典实现
7. 不同的加括号方法(LeetCode 241)
8. 两个数组的中位数(LeetCode 4)
5:树与图
1. 树与图的数据结构与基本算法
2. 树遍历的回调函数实现,并使用自动机概念实现非递归树前、中、后遍历
3. 树与链表的转换(LeetCode 114)
4. 最近的公共祖先(LeetCode 236)
5. 树的层次遍历应用(LeetCode 199)
6. 树的改造(LeetCode 117)
7. 图的复制(LeetCode 133)
8. 图的搜索与应用(LeetCode 207)
6:二分查找、二叉排序树、位运算的应用
1. 二分查找、二叉排序树的知识要点
2. 数组的二分查找(LeetCode 33,81)
3. 区间二分查找(LeetCode 34)
4. 排序链表转换为二叉排序树(LeetCode 109)
5. 二叉排序树的遍历与改造(LeetCode 538 )
6. 二叉排序树中的第K大的数(LeetCode 230)
7. 位运算的知识要点
8. 使用位运算表示集合(LeetCode 78)
9. 位运算应用题目(LeetCode 136,137,260)
7:哈希表与字符串
1. 哈希表与字符串知识要点
2. 哈希题目 (LeetCode 290)
3. 哈希与字符串综合 (LeetCode 3)
4. 哈希与字符串综合 (LeetCode 76)
5. 哈希与字符串综合 (LeetCode 30)
6. 字符串题目 (LeetCode 459)
7. 字符串题目 (LeetCode 468)
8:搜索
1. 深度优先搜索与广度优先搜索算法
2. 深搜题目 (LeetCode 200)
3. 深搜题目 (LeetCode 473)
4. 深搜题目 (LeetCode 491)
5. 广搜题目 (LeetCode 126,127)
6. 广搜题目 (LeetCode 417)
7. 广搜题目 (LeetCode 407)
9:动态规划
1. 动态规划知识要点
2. 动态规划题目1(LeetCode 120)
3. 动态规划题目2(LeetCode 53)
4. 动态规划题目3(LeetCode 198,213)
5. 动态规划题目4(LeetCode 322)
6. 动态规划题目5(LeetCode 72)
7. 动态规划题目6(LeetCode 174)
8. 动态规划题目7(codeforces 711C)
10:复杂数据结构
1. Trie树的构造与基本算法
2. Trie树的构造 (LeetCode 208)
3. Trie树的应用 (LeetCode 212)
4. 并查集的基本算法
5. 并查集的应用 (LeetCode 547)
6. 线段树与树状数组
7. 线段树与树状数组的应用(LeetCode 307)