书:《大话数据结构》->《算法图解》->《数据结构与算法之美》 -> 《剑指offer》两遍 -> LeetCode刷题(至少刷到200多道)
视频:B站浙江大学-数据结构(基于C语言)
其它:Leetcode官方出品的免费教程 Leetbook
算法:动态规划、回溯算法、查找算法、搜索算法、贪心算法、分治算法、位运算、双指针、排序、模拟、数学、……
数据结构:数组、栈、队列、字符串、链表、树、图、堆、哈希表、……
刷题:
剑指offer:https://www.nowcoder.com/ta/coding-interviews
leetcode:https://leetcode-cn.com/problemset/algorithms/
近期面试中常考题:https://www.nowcoder.com/activity/oj
公司常考题:
- 链表类(链表反转类题目)
- 二叉树类(二叉树的遍历类型题,最大公祖先类题目)
- 字符串操作题目
- dfs/bfs
- 动态规划(这个考的基本都是leetcode上的或者是背包问题,对于动态规划问题其实有很多种类,比较见到的就是一维动态和二维动态),另外还有区间调度类型的题目(贪心算法,也属于动态规划的一种特殊情况