Appearance
附录 C · 术语中英对照表
按章组织的七级核心术语中英对照。英文以 C++ / 算法教材通用写法为准,中文以本书正文用法为准。
一、第 2 章 数学库函数
| 中文 | 英文 | 说明 |
|---|---|---|
头文件 <cmath> | cmath header | 数学函数的家 |
| 弧度 | radian | 三角函数的参数单位 |
| 角度 | degree | 需 × π / 180 转弧度 |
| 三角函数 | trigonometric function | sin / cos / tan |
| 反正切 | arctangent | atan / atan2 |
| 对数 | logarithm | log(ln) / log10 / log2 |
| 自然对数 | natural logarithm | 底为 e ≈ 2.718 |
| 指数函数 | exponential function | exp(x) = eˣ |
| 幂 | power | pow(a, b) = aᵇ,返回 double |
| 平方根 | square root | sqrt(x) |
| 向上取整 / 向下取整 | ceiling / floor | ceil / floor |
| 四舍五入 | round | round(x) |
| 绝对值 | absolute value | abs(int) / fabs(double) |
| 精度 / 误差 | precision / error | 浮点运算固有 |
| 误差范围 | epsilon (eps) | 通常取 1e-9 |
| 圆周率常量 | pi constant | M_PI 或 acos(-1.0) |
二、第 3 章 复杂动态规划
| 中文 | 英文 | 说明 |
|---|---|---|
| 动态规划 | DP (dynamic programming) | 七级为"复杂动态规划" |
| 二维动态规划 | 2D DP | dp[i][j] |
| 最值优化 | optimization over DP | 答案取 max/min |
| 区间动态规划 | interval DP | 先枚举长度,再枚举起点和分割点 |
| 最长上升子序列 | LIS (longest increasing subsequence) | 答案 = max(dp) |
| 最长公共子序列 | LCS (longest common subsequence) | 经典二维 DP |
| 子序列 | subsequence | 不要求连续 |
| 子串 / 子数组 | substring / subarray | 必须连续 |
| 滚动数组 | rolling array | 降空间复杂度 |
| 状态压缩 | state compression | 把二维压成一维 |
| 记忆化搜索 | memoized search / memoization | 与递推 DP 等价 |
| 状态转移方程 | transition equation | 核心递推式 |
| 边界条件 | base case | 初始状态 |
| 贪心(对比) | greedy | 不回头,不一定最优 |
三、第 4 章 图的定义及遍历
| 中文 | 英文 | 说明 |
|---|---|---|
| 图 | graph | 顶点集 + 边集 |
| 顶点 | vertex / node | 复数 vertices |
| 边 | edge | 连接两个顶点 |
| 有向图 / 无向图 | directed / undirected graph | 边是否有方向 |
| 度 | degree | 无向图的边数 |
| 入度 / 出度 | in-degree / out-degree | 有向图分开算 |
| 完全图 | complete graph | 任意两点有边 |
| 连通 / 连通分量 | connected / connected component | 互相可达的点集 |
| 稠密图 / 稀疏图 | dense / sparse graph | 决定存储方式 |
| 邻接矩阵 | adjacency matrix | g[n][n],O(n²) |
| 邻接表 | adjacency list | vector<int> g[n],O(n+m) |
| 深度优先搜索 | DFS | 递归 / 栈 |
| 宽度优先搜索 | BFS | 队列 |
| 访问标记 | visited | 防重复访问 |
| 距离数组 | distance array dist[] | BFS 中的层数 |
| 拓扑排序 | topological sort | 📚 拓展 · 超纲 |
| 强连通分量 | strongly connected component | 📚 拓展 · 超纲 |
四、第 5 章 泛洪算法
| 中文 | 英文 | 说明 |
|---|---|---|
| 泛洪算法 | flood fill | 种子填充 |
| 种子点 | seed | 扩散的起点 |
| 连通区域 | connected region | 同色/同类的连片区域 |
| 四连通 | 4-connectivity | 上下左右 4 个方向 |
| 八连通 | 8-connectivity | 再加 4 个对角线方向 |
| 方向数组 | direction array dx[]/dy[] | 遍历邻居 |
| 岛屿数量 | number of islands | 经典 Flood Fill 题 |
| 边界检查 | boundary check | 越界访问是头号 BUG |
| 递归深度 | recursion depth | 过大导致栈溢出 |
| 栈溢出 | stack overflow | DFS 实现的隐患 |
五、第 6 章 哈希表
| 中文 | 英文 | 说明 |
|---|---|---|
| 哈希表 / 散列表 | hash table | 键 → 存储位置 |
| 哈希函数 | hash function | 常用除留余数法 |
| 哈希值 | hash value | 函数的输出 |
| 键 / 值 | key / value | 键值对 |
| 哈希冲突 | hash collision | 不同的键映射到同一位置 |
| 鸽巢原理 | pigeonhole principle | 冲突不可避免的依据 |
| 链地址法 | separate chaining | 同位置挂链表 |
| 开放寻址法 | open addressing | 另找空位 |
| 线性探测 | linear probing | 顺序往后找 |
| 二次探测 | quadratic probing | 按平方步长找 |
| 二次聚集(堆积) | primary clustering | 线性探测的副作用(注:中文教材常称《二次聚集》,英文对应 primary clustering;secondary clustering 指二次探测 quadratic probing 的聚集) |
| 再哈希法(多哈希函数法) | multiple hashing(rehashing 也常指《扩容重哈希》) | 准备多个完整哈希函数,H₁ 冲突时换用 H₂ |
| 装填因子 / 负载因子 | load factor | α = 元素数 / 表长 |
| 墓碑标记 | tombstone | 开放寻址删除时不能真删 |
| 有序映射(红黑树) | map (red-black tree) | O(log n),有序 |
| 无序映射(哈希) | unordered_map | 平均 O(1),无序 |
| 两数之和 | Two Sum | 哈希表经典应用 |
六、常用英文缩写速查
| 缩写 | 全称 | 中文 |
|---|---|---|
| DP | Dynamic Programming | 动态规划 |
| LIS | Longest Increasing Subsequence | 最长上升子序列 |
| LCS | Longest Common Subsequence | 最长公共子序列 |
| DFS | Depth-First Search | 深度优先搜索 |
| BFS | Breadth-First Search | 宽度优先搜索 |
| eps | epsilon | 浮点误差范围 |
| NaN | Not a Number | 非数字(如 sqrt(-1)) |
| STL | Standard Template Library | 标准模板库 |
| O(1) | constant time | 常数时间 |
七、易混术语辨析
| 对比 | 区别 |
|---|---|
log vs log10 vs log2 | 底分别是 e、10、2 |
| 子序列 vs 子串 | 子序列可不连续,子串必须连续 |
| 递推 vs 记忆化搜索 | 递推自底向上,记忆化自顶向下;结果等价 |
| 滚动数组 vs 状态压缩 | 本书语境下均指"用更少的空间存 DP" |
| 邻接矩阵 vs 邻接表 | 稠密图用矩阵(O(n²)),稀疏图用表(O(n+m)) |
| 四连通 vs 八连通 | 4 个方向 vs 8 个方向(含对角线) |
| 链地址法 vs 开放寻址 | 一个挂链表,一个在表内找空位 |
map vs unordered_map | 红黑树有序 O(log n) vs 哈希表无序 O(1) |
| 入度 vs 出度 | 有向图中指向自己 / 从自己出发的边数 |
八、常见英文报错 → 中文对照
| 报错信息(英文) | 含义 | 常见原因 |
|---|---|---|
'log10' was not declared in this scope | 函数未声明 | 漏 #include <cmath> |
cannot convert 'double' to 'int' | double 不能隐式转 int | pow() 返回值直接赋给 int / 当下标 |
invalid operands of types 'int' and 'double' | 类型不匹配 | 混用 abs 与浮点 |
segmentation fault | 内存访问越界 | 数组越界、递归层数过深 |
stack overflow | 栈溢出 | DFS 递归太深(Flood Fill 常见) |
bad_alloc | 内存分配失败 | 开了过大的二维数组(如 dp[10000][10000]) |
no match for 'operator[]' | 下标运算符不匹配 | 对 unordered_map 用了不存在的键类型 |
expected initializer before ')' | 语法错误 | 括号/分号漏写 |
术语以本书正文用法为准;英文拼写以 C++ 官方写法为准。
