刷数据结构题,不建议只按难度从 Easy 刷到 Hard。更稳的方式是按结构建立题型:数组看下标和区间,链表看指针,栈队列看顺序约束,树图看遍历,堆看优先级,哈希表看快速定位。
下面的题单控制在面试高频和模板代表题范围内。每类先做“必刷题”,再做“进阶题”。题目做完后,至少写下复杂度、边界样例和这题属于哪个模板。
怎么用这份题单
数据结构题不要只记结论。每刷一类题,先回到对应结构看一次“存储方式、核心操作、复杂度”,再动手写题。这样面试官追问 Java 集合、Redis、MySQL 索引或缓存场景时,答案不会只停在题解层面。
| 结构 | 先读什么 | 刷题时重点看什么 |
|---|---|---|
| 数组、链表、栈队列 | 线性数据结构详解、双指针与滑动窗口 | 下标、指针更新、入栈出栈时机 |
| 哈希表 | 哈希表面试题总结 | key 的设计、计数时机、冲突和扩容 |
| 树和图 | 树结构详解、图详解、DFS 与 BFS | 递归返回值、访问标记、BFS 层数统计 |
| 堆和 Top K | 堆详解、Top K 问题面试题总结 | 堆大小、比较器、数据流场景 |
| Trie 和并查集 | Trie 前缀树面试题总结、并查集面试题总结 | 节点结构、结束标记、路径压缩、连通判断 |
| LRU | LRU 缓存面试题总结 | 哈希表和双向链表如何保持 O(1) |

