Skip to content

序言

关于本书

欢迎来到《LeetCode 算法通关之路》系列的第一站。

这是一套专为程序员打造的算法进阶丛书,共六册,覆盖从入门到竞赛的完整知识体系。本书是第一册——数据结构与编程基础,将为你建立坚实的算法根基。

为什么先学数据结构?

算法是解决问题的方法,数据结构是组织数据的方式。就像建筑需要先打地基,学习算法也需要先掌握数据结构。

没有扎实的数据结构基础,算法技巧只是空中楼阁。

本书将带你系统学习:

  • 复杂度分析:学会评估算法效率
  • 线性结构:数组、字符串、链表
  • 栈与队列:包括单调栈、单调队列
  • 哈希表与堆:高效查找与排序的利器
  • 二叉树与 BST:递归思维的起点
  • 位运算:底层优化的基础
  • 字符串匹配:KMP 算法等经典内容

每个主题都采用"原理讲解 + LeetCode 实战"的模式,确保理论与实践并重。

丛书学习路线

┌─────────────────────────────────────────────────────────────────┐
│                    LeetCode 算法通关之路                          │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  第一册                第二册                第三册              │
│  ┌─────────┐        ┌─────────┐        ┌─────────┐           │
│  │数据结构与│   →    │算法技巧 │   →    │动态规划 │           │
│  │编程基础  │        │篇       │        │精通篇   │           │
│  └─────────┘        └─────────┘        └─────────┘           │
│       ↓                  ↓                  ↓                   │
│  150 章节            132 章节            118 章节              │
│  入门-简单           简单-中等           中等-困难             │
│                                                                 │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  第四册                第五册                第六册              │
│  ┌─────────┐        ┌─────────┐        ┌─────────┐           │
│  │图论与   │   →    │高级数据 │   →    │算法竞赛 │           │
│  │搜索篇   │        │结构篇   │        │实战篇   │           │
│  └─────────┘        └─────────┘        └─────────┘           │
│       ↓                  ↓                  ↓                   │
│  94 章节             100 章节            110 章节              │
│  中等-困难           困难-竞赛           竞赛-专业             │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

各册内容概览

册次书名核心内容目标读者
第一册数据结构与编程基础数组、链表、栈、队列、哈希、堆、树、KMP零基础入门者
第二册算法技巧篇递归、双指针、滑动窗口、二分、贪心、回溯有数据结构基础者
第三册动态规划精通篇线性DP、背包、状态机、区间DP、博弈DP、数位DP、树形DP掌握基础算法者
第四册图论与搜索篇DFS、BFS、拓扑排序、并查集、最短路、MST准备面试者
第五册高级数据结构篇Trie、线段树、BIT、平衡树、后缀结构、莫队进阶学习者
第六册算法竞赛实战篇数论、网络流、计算几何、ACM真题、大厂面试竞赛选手/资深工程师

本书特色

1. 系统性

从最基础的复杂度分析开始,循序渐进地构建完整的知识体系。

2. 实战性

150+ 个 LeetCode 题目精讲,每道题都有详细的思路分析和代码实现。

3. 完整的字符串匹配章节

本书特别设置了"字符串匹配算法"章节,系统讲解 KMP 算法。这是很多算法书籍忽略但面试高频考察的内容。

4. 知识衔接

每个章节都标注了前置知识和后续学习方向,帮助你建立完整的知识图谱。

学习建议

  1. 顺序学习:建议按章节顺序学习,因为后面的内容依赖前面的知识
  2. 动手实践:每道实战题都要自己写代码,不要只看不练
  3. 总结规律:每学完一个专题,总结其核心模式和适用场景
  4. 间隔复习:定期回顾已学内容,巩固记忆

开始旅程

万事开头难,但开始就是成功的一半。

翻开下一页,开始你的算法通关之路。


祝学习愉快!

序言 has loaded