导语:本篇收尾两个"块状"专题。图论部分覆盖存储结构、DFS/BFS、拓扑排序、最短路与最小生成树;字符串部分覆盖 KMP、最长回文子串、滚动哈希与高频题型。算法均给出可运行的 Java 实现。共 11 题。
2026/6/3大约 14 分钟
导语:本篇收尾两个"块状"专题。图论部分覆盖存储结构、DFS/BFS、拓扑排序、最短路与最小生成树;字符串部分覆盖 KMP、最长回文子串、滚动哈希与高频题型。算法均给出可运行的 Java 实现。共 11 题。
导语:这一篇是"解题套路库"。双指针、滑动窗口、前缀和解决线性扫描类问题;递归、分治、回溯解决枚举与拆分类问题;贪心与动态规划解决最优化问题。所有套路都配可运行的 Java 实现,并标注易错点。共 14 题。
导语:排序是面试中"必须能手写"的少数几个算法之一。本篇先给出一张复杂度与稳定性总表,再逐个手写实现(冒泡、选择、插入、希尔、归并、快排、计数、桶、基数),最后覆盖二分查找的四个坑与两种变体、快速选择与外部排序。所有算法均给出可运行的 Java 代码。共 13 题。
导语:本篇覆盖数据结构面试的三大主战场——哈希表(冲突解决与布隆过滤器)、树(遍历、BST、AVL/红黑树/B+树、跳表)与堆(建堆、堆排、Top K),并补齐 Trie 与并查集。树与堆的关键实现均给出 Java 代码。共 16 题。
导语:算法面试的第一步是能把「复杂度」说清楚,之后才是结构与套路。本篇覆盖复杂度分析方法(含均摊复杂度这一易错点),以及数组、链表、栈、队列四大线性结构,所有实现均给出可运行的 Java 代码。共 15 题。