COVER
《算法全景:从经典算法到大语言模型》封面
ALGORITHM PANORAMA

算法全景

从经典算法到大语言模型

这本书按时间轴组织:从数据结构这块地基讲起,一路走到 2026 年正在发生的混合架构、 稀疏注意力与极低比特量化。每讲一个算法,都会先说清它当初要解决什么问题、为什么这样做、 代价在哪里、什么时候不该用它。零基础也能读,术语第一次出现都带解释; 配套 82 个可以改代码的动画仿真,内置 6 种语言的参考实现,左边看效果、右边改代码。

任
任增浩著 · 非商业用途学习资料 · 2026 年 10 月修订
12 章 204 节 7 个附录 312 页 · 正 16 开 1945 — 2026 配套 82 个仿真 · 6 种语言
12章
从预备知识到结语,含数据结构专章
204节
每节都能独立读懂
82个
可交互算法仿真 · 6 种语言参考实现
127段
可运行代码 + 153 组代码块,逐段解读
237张
表格:复杂度、超参、选型对照
26.9万字
312 页 · 正 16 开 · 2026 年 10 月修订
HIGHLIGHTS

这本书想解决什么

一条能走通的路线
🧭

按时间轴讲,一章一个年代

每个算法都放回它被发明时面对的那个问题里:快排是因为早期排序太慢,Dijkstra 是因为要找最短路,Transformer 是因为 RNN 没法并行。知道了痛点,算法就不再是要背的结论。

🧱

第 3 章先打地基

第 3 章用 31 节把数据结构一次讲透:数组、链表、栈、队列、哈希表、树、堆、图、并查集、Trie。为什么同样是查找,哈希表是 O(1)、有序数组是 O(log n)、链表只能 O(n)?答案都在这一章。

🐣

零基础也能从第 0 章读起

第 0 章用煮鸡蛋、贴标签的盒子、编号的抽屉讲清变量、列表、循环、递归与复杂度,不假设任何编程基础;书中所有英文缩写第一次出现都带中文解释。

🧪

配套 82 个可改代码的仿真

左栏看执行效果、右栏改代码,改完立刻重跑;下方给出报错位置与修改建议,还能把代码片段拖进代码栏拼出自己的版本。数据结构 15 个、经典算法 23 个、机器学习 19 个、大模型 15 个、强化学习 10 个;每个仿真都能切换 C / C++ / Python / Java / JavaScript / Go 六种语言的完整参考实现。

📊

落到「能怎么用」上

复杂度速查表、超参数速查、算力与显存估算公式、按场景选算法的决策清单、七个最常见的坑,以及六个真实场景的选型推理——可以直接当案头手册翻。

🧯

也讲什么时候不该用

每一章末尾都有「本章常见错误与练习」,把踩过的坑写清楚:数据泄漏、忘了梯度清零、奖励函数被钻空子、二分区间写不清、哈希退化……比正面讲原理更有用。

NEW IN V2

第 2 版新增:数据结构专章 + 七个附录

上一版 11 章、约 7.6 万字;本版 12 章、 204 节、 312 页、 7 个附录

第 3 章 数据结构:算法的地基

数据结构是本书唯一无法跳过的前置知识。这一章用 27 节把二十多个结构一次讲透, 每个结构都回答四个问题:它长什么样(内存怎么安排)、增删改查各要多久、适合什么场景、代价是什么。 全部配可运行的手写实现与选型对照表,读完再回头看后面的算法,很多「为什么」会自己浮出来。

第 2 版增补:3.15 线段树、3.16 树状数组、3.17 红黑树、3.18 B+ 树、3.19 字符串哈希与后缀数组、3.20 带权并查集、3.22 LRU、3.23 位图、3.24 概率数据结构、3.25 可持久化结构;4.19 双指针与滑动窗口 → 4.25 数论基础;5.15 特征工程 → 5.18 正则化的几何直觉;6.8 激活函数;7.13 蒙特卡罗与 TD、7.14 探索策略与奖励设计;8.15 位置编码的演进、8.16–8.18 手写自注意力与提示工程工程化。第三轮增补:1.3 两数之和六种解法、1.6–1.8 阅读地图与 12 问速答、2.5–2.7 三个真实故事与三条暗线、3.27–3.30 手写哈希表 / 堆 / 并查集与 21 个结构选型总表、4.26–4.28 背包六讲与手推快排、5.22–5.26 手推线性回归 / 混淆矩阵 / 手推决策树 / 不平衡处理 / 怎么读论文、6.12–6.14 从零写一个神经网络 / 梯度消失实测 / 三个旋钮、9.11–9.13 微调落地 / 评测三级方案 / 幻觉治理、10.7–10.8 三条约束选型与落地清单、11.4–11.7 30 天与 90 天路线。全部小节都配了同名仿真。附录 A 术语中英对照(约 200 条)、附录 B 代码模板速查(10 个)、附录 C 仿真对照表(81 行)、附录 D 复杂度与选型总表(4 张)、附录 E 练习题与解题思路(42 题)、附录 F 调试与排错手册、附录 G 常用数学公式速查。

3.1 数组与动态数组扩容与均摊 O(1)
3.2 链表三指针反转、哨兵节点
3.3 栈括号匹配、调用栈
3.4 队列与双端队列循环队列、单调队列
3.5 哈希表冲突处理、负载因子
3.6 树遍历、BST、平衡树、B+ 树
3.7 堆与优先队列上浮下沉、Top-K
3.8 图邻接表、BFS/DFS、拓扑排序
3.9 并查集路径压缩、按秩合并
3.10 Trie 字典树前缀匹配、自动补全
3.11 进阶结构跳表、LRU、位图、布隆过滤
3.12 选型速查八个新手错误 + 练习
3.13 平衡树 AVL高度维护、四种旋转
3.14 跳表抛硬币定层、多层索引
3.15 线段树区间求和 O(log n)
3.16 树状数组更省内存的前缀和
3.17 红黑树工业界最常用的平衡树
3.18 B 树与 B+ 树数据库与文件系统的底座
3.19 字符串哈希与后缀数组给文字按一个指纹
3.20 并查集进阶带权重与可撒销
3.21 图的四种存法邻接矩阵 / 邻接表 / 前向星 / 边集
3.22 LRU 缓存哈希表 + 双向链表
3.23 位运算与位图一个比特装一个开关
3.24 概率数据结构布隆过滤器、Count-Min、调和精度
3.25 持久化数据结构每次修改都不破坏旧版本
3.26 选型实战六个真实场景怎么选
ALGORITHM SIMULATION LAB

配套仿真:左边看效果,右边改代码

书里每一个结构都可以在浏览器里跑起来。左边是动画与执行过程(数组、链表、树、图、散列桶、注意力权重……), 右边是可以直接编辑的代码:改一行、点一次运行,左边的画面立刻跟着变。 代码写错时,下方会指出错误在哪一行、为什么错、可以怎么改,并给出与你手写实现相比的效率对比。

不会写也没关系:每个仿真都提供「参考实现」下拉(同一算法的不同实现路径,例如快速排序的随机基准版、堆排序版), 以及一排可以拖拽的代码片段——把片段拖进代码栏就能拼出自己的版本;随时可以一键重置回默认实现。 顶部还可以切换 C / C++ / Python / Java / JavaScript / Go 六种语言的同题实现,右侧「参考实现」下拉给出同一算法的多种写法(递归 / 迭代、随机基准 / 三路划分、朴素 / 加速版);页面另带五套明暗主题可随时切换。

数据结构 15 经典算法 23 机器学习 19 大模型 15 强化学习 10 共 82 个仿真 · 6 种语言
▶ 打开算法动画仿真实验室
算法动画仿真实验室界面预览
TABLE OF CONTENTS

全书目录

12 章 · 204 节 · 7 个附录 · 312 页
00

预备知识:什么都不懂也能从这里开始

11 节 · 零基础入口

用煮鸡蛋讲清算法的三个要求(有限、精确、可执行),再补上 6 个编程概念与 4 个数学概念,最后教你怎么读复杂度记号。

关键:0.2 变量/列表/判断/循环/函数/递归 · 0.3 求和符号、向量与矩阵、导数与梯度、概率 · 0.5 符号缩写速查表
01

导言:这份文档怎么用

8 节

三条并行演进的谱系,以及一个贯穿全书的判断标准:不要问哪个算法更强,要问它匹配的是什么约束。

关键:1.2 判断标准 · 1.3 两数之和六种解法 · 1.4 好代码五个维度 · 1.6 阅读地图 · 1.8 十二问速答
02

算法发展时间轴(1945—2026)

7 节 · 含时间轴插图

把八十年的关键算法放在同一条轴上,看到每个算法替代了谁、又被谁替代,以及背后的三条规律。

关键:2.1 里程碑事件与影响 · 2.3 四大家族分工 · 2.5 同一个想法被发明了三次 · 2.6 三条暗线 · 2.7 怎么读算法新闻
03

数据结构:算法的地基第 2 版新增

32 节 · 21 个结构 · 33 个手写实现

数组、链表、栈、队列、哈希表、树、堆、图、并查集、Trie 这十个基础结构讲到能手写,再连着补上线段树、树状数组、红黑树、B+ 树、后缀数组、带权并查集、LRU 缓存、位图、布隆过滤器、可持久化结构。每个结构都给出复杂度对照、选型建议与一个真实场景,最后用 3.26 六个案例把选型过一遍,再用 3.27~3.29 把哈希表、堆、并查集亲手写一遍,3.30 做横向对比,3.31 用洪水填充收尾。

关键:3.5 哈希表冲突 · 3.7 堆与 Top-K · 3.9 并查集 · 3.15 线段树 · 3.16 树状数组 · 3.18 B+ 树 · 3.22 LRU · 3.24 布隆过滤器 · 3.26 选型实战 · 3.27~3.29 手写哈希表 / 堆 / 并查集 · 3.30 选型总表 · 3.31 洪水填充
04

经典算法:确定性问题的解法第 2 版扩充

28 节

排序、二分、Dijkstra、A*、动态规划、贪心、布隆过滤器、PageRank,再加上排序家族全览、KMP、最小生成树、单调栈、霍夫曼编码、基数排序、最长递增子序列,以及双指针与滑动窗口、前缀和与差分、二分答案、回溯与剪枝、分治、状态压缩与数论基础。

关键:4.6 动态规划 · 4.10 七种排序 · 4.16 霍夫曼编码 · 4.18 最长递增子序列 · 4.19 双指针与滑动窗口 · 4.21 二分答案 · 4.24 状态压缩
05

机器学习算法:从数据中学规律

27 节

线性回归与岭回归、逻辑回归、决策树、随机森林、GBDT、AdaBoost、SVM、KNN、K-Means、DBSCAN、高斯混合,以及评估指标该怎么选。

关键:5.5 随机森林 · 5.6 梯度提升树 · 5.9 别只盯准确率 · 5.11 岭回归 · 5.12 AdaBoost · 5.13 DBSCAN · 5.14 高斯混合与 EM
06

深度学习:让模型自己学表示

14 节

多层感知机与反向传播、优化器演化、正则化与归一化、CNN、RNN/LSTM/GRU,以及 VAE、GAN 与扩散模型。

关键:6.1 反向传播 · 6.2 从 SGD 到 AdamW · 6.4 CNN · 6.7 常见错误与练习
07

强化学习:在试错中学决策

16 节

MDP、贝尔曼方程、Q-learning 与 DQN、SARSA、TD(λ) 资格迹、Double DQN、REINFORCE 到 PPO,以及探索与利用的权衡和三大流派横向对比。

关键:7.3 Q-learning 与 DQN · 7.4 PPO · 7.5 探索与利用 · 7.10 SARSA 与 PPO 的逐行实现 · 7.11 TD(λ) 资格迹 · 7.12 Double DQN
08

Transformer 与大语言模型(LLM)全书最厚

18 节 · 含注意力手写实现

从「预测下一个 token」讲到自注意力、多头注意力、因果掩码、位置编码、Scaling Law、三阶段训练、LoRA、RLHF 与 DPO、推理加速、KV Cache、采样策略、RAG 与 Agent。

关键:8.2 架构全景 · 8.5 预训练→SFT→对齐 · 8.8 推理为什么慢 · 8.11 性能参数速查 · 8.13 多头注意力 / KV Cache / 采样策略 · 8.14 因果掩码
09

2025—2026 前沿进展:从拼规模到拼效率

13 节

混合架构与 MoE、稀疏注意力、推理预算可调节、蒸馏与 1-bit 量化、Agent 产业化,以及哪些是原理层面的变化、哪些只是工程。

关键:9.1 架构走向混合 · 9.3 训练与压缩的效率革命 · 9.4 代表性模型速览 · 9.8 常见错误与练习
10

选型指南与性能参数总表第 2 版扩充

8 节 · 案头手册

复杂度速查、关键超参数速查、算力与显存估算公式、按场景选算法的决策清单、七个最常见的坑,以及六个真实场景的选型推理。

关键:10.3 显存估算四条公式 · 10.5 七个最常见的坑 · 10.6 搜索/推荐/风控/调度/爬虫/日志六个案例
11

学习路线与结语

7 节

三阶段学习路径(能写 → 能选型 → 能做系统)、一句话总结每个算法家族,以及最后的三条判断。

关键:11.1 三阶段学习路径 · 11.2 一句话总结 · 11.3 最后的三条判断
A

附录 A 核心术语中英对照表第 2 版新增

约 200 条 · 六大主题

复杂度、数据结构、算法范式、机器学习、深度学习与大模型、强化学习——中文名、英文缩写、一句话解释三列对照,随时回来查。

B

附录 B 常用代码模板速查第 2 版新增

10 个模板

二分查找、并查集、Top-K 堆、图遍历、拓扑排序、Dijkstra、滑动窗口、回溯、快速幂、0-1 背包——可以直接抄进程序用的最小骨架。

C

附录 C 82 个仿真与章节对照第 2 版新增

82 行对照表

每个仿真对应哪一小节、主要观察什么,一目了然;想动手就从数据结构组开始,想直接体验大模型就跳到 LLM 组。

D

附录 D 复杂度与选型总表第 2 版新增

D.1–D.4 · 四张速查表

数据结构操作、排序、图算法、机器学习与深度学习模型,全部压成四张表,每一行都标了时间、空间与适用边界。不记得复杂度的时候直接翻这里。

E

附录 E 练习题与解题思路第 2 版新增

入门 24 题 + 进阶 18 题

每道题都给「怎么想起来的」而不只是答案:先看出它是哪个模式(哈希、双指针、动态规划、并查集……),再决定用什么结构。

F

附录 F 调试与排错手册第 2 版新增

按报错查 · 按现象查 · 可打印清单

「程序报错」与「能跑但结果不对」两条主线索,加上九个最常见的具体坑,最后是一份可以打印出来贴在桌前的排查清单。

G

附录 G 常用数学公式速查第 2 版新增

增长 · 概率 · 线代微积分 · 工程估算

复杂度与增长、概率与统计、线性代数与微积分、工程估算公式,再加一张符号速查表——读公式时随时回查。

DOWNLOADS

下载

全部文件均可直接下载 · 非商业用途
任

任增浩 · 关于这本书

这本书最初只是一份不断增补的学习笔记。写着写着发现,真正有用的不是记住多少名词, 而是知道每个名词在解决什么问题、代价是什么、边界在哪里,于是按时间轴把它重排了一遍, 从 1945 年的归并排序写到 2026 年正在发生的效率革命。 遇到陌生的算法,可以先到配套的 82 个仿真里跑一遍,比对着文字想更快。

本书为非商业用途的学习资料,著作权归作者所有;引用的第三方名称、商标与产品归各自权利人所有。 勘误与建议欢迎通过 作品集 或 站点首页 的联系方式反馈。