Skip to content

附录 C · 术语中英对照表 ​

按章组织的六级核心术语中英对照。英文以 C++ / 算法教材通用写法为准,中文以本书正文用法为准。


一、第 2 章 树的基本概念与遍历 ​

中文英文说明
树treen 个节点、n−1 条边的连通无环图
根节点root没有前驱的唯一起始节点
叶子 / 叶节点leaf / leaf node度为 0 的节点
节点的度degree子树个数
树的度degree of tree所有节点度的最大值
深度 / 高度depth / height本书「深度」从 1 起算
子树subtree以某节点为根的那棵树
二叉树binary tree每个节点度 ≤ 2,左右有序
满二叉树full / perfect binary tree每层都填满
完全二叉树complete binary tree按层序编号连续
前序遍历preorder traversal根 → 左 → 右
中序遍历inorder traversal左 → 根 → 右
后序遍历postorder traversal左 → 右 → 根
层序遍历level-order traversal按层从左到右,用队列
递归recursion函数自身调用

二、第 3 章 哈夫曼树与特殊树 ​

中文英文说明
哈夫曼树Huffman tree带权路径长度最小的二叉树
带权路径长度WPL (weighted path length)Σ(权值 × 路径长度)
哈夫曼编码Huffman coding前缀编码,用于压缩
前缀编码prefix code任一编码都不是另一编码的前缀
二叉排序树BST (binary search tree)左 < 根 < 右
平衡二叉树AVL tree六级不要求(📚 超纲)
格雷编码Gray code相邻码只差一位,G(n)=n^(n>>1)
异或XOR / exclusive orC++ 运算符 ^
中序后继inorder successorBST 删除两孩节点时的替代者

三、第 4 章 搜索算法 ​

中文英文说明
深度优先搜索DFS (depth-first search)栈 / 递归实现
宽度(广度)优先搜索BFS (breadth-first search)队列实现
回溯backtracking选择 → 递归 → 撤销
剪枝pruning提前排除不可能的分支
访问标记数组visited array防止重复访问
连通块 / 连通分量connected component一次 DFS/BFS 覆盖的点集
迷宫maze网格最短路经典模型
方向数组direction array dx[]/dy[]四连通 / 八连通
状态空间state space搜索能到达的所有状态
最短路(无权)shortest path (unweighted)BFS 第一次到达即最短

四、第 5 章 简单动态规划 ​

中文英文说明
动态规划DP (dynamic programming)六级的"简单动态规划"
最优子结构optimal substructure大问题最优含小问题最优
重叠子问题overlapping subproblems子问题被反复计算
状态statedp[i] / dp[i][j] 的含义
状态转移方程transition / recurrence核心递推式
边界 / 初始条件base casedp[0] 等
01 背包0/1 knapsack每件物品选或不选
完全背包unbounded knapsack每件物品可重复选
最大子段和maximum subarray sumKadane 算法
滚动数组rolling array只保留上一行,压空间

五、第 6 章 面向对象编程基础 ​

中文英文说明
面向对象编程OOP (object-oriented programming)与面向过程相对
类class模板 / 蓝图
对象object / instance类的实例
成员(属性 / 方法)member (attribute / method)数据成员 + 成员函数
封装encapsulation隐藏实现,暴露接口
继承inheritance子类复用父类
多态polymorphism同一接口,多种实现
访问控制access controlpublic / private / protected
构造函数constructor与类同名,无返回值
析构函数destructor~类名(),无参数
初始化列表initializer listA(int x) : a(x) {}
虚函数virtual functionvirtual 关键字
重写 / 覆盖override子类重定义虚函数
重载overload同名不同参(编译期)
动态绑定dynamic binding运行时决定调用哪个版本
this 指针this pointer指向当前对象

六、第 7 章 栈与队列 ​

中文英文说明
栈stackLIFO(后进先出)
队列queueFIFO(先进先出)
循环队列circular queue取模回绕
优先队列priority queue最大/最小堆
入栈 / 出栈push / poppop() 不返回值
取栈顶top栈顶元素的引用
队首 / 队尾front / rear (back)队列两端
上溢 / 下溢overflow / underflow满时入 / 空时出
中缀 / 后缀表达式infix / postfix expression调度场算法转换
单调栈monotonic stack提高内容(📚 超纲)

七、常用英文缩写速查 ​

缩写全称中文
DFSDepth-First Search深度优先搜索
BFSBreadth-First Search宽度优先搜索
WPLWeighted Path Length带权路径长度
BSTBinary Search Tree二叉排序树
DPDynamic Programming动态规划
OOPObject-Oriented Programming面向对象编程
LIFOLast In First Out后进先出
FIFOFirst In First Out先进先出
STLStandard Template Library标准模板库
IDEIntegrated Development Environment集成开发环境

八、易混术语辨析 ​

对比区别
满二叉树 vs 完全二叉树满 ⊂ 完全;满要求每层填满,完全只要求按层序编号连续
深度 vs 高度深度自上而下,高度自下而上;本书统一按题目给出的定义计算
前序 / 中序 / 后序区别在于"根"什么时候被访问
DFS vs BFS栈 vs 队列;求全部方案用 DFS,求最短路用 BFS
01 背包 vs 完全背包一维优化时 01 倒序、完全正序
重载 vs 重写重载同名不同参(编译期);重写虚函数签名相同(运行期)
栈 vs 队列LIFO vs FIFO
循环队列判空 vs 判满空 front==rear;满 (rear+1)%size==front

九、常见英文报错 → 中文对照 ​

报错信息(英文)含义常见原因
segmentation fault段错误 / 内存访问越界数组越界、空指针、递归层数过深
stack overflow栈溢出递归没有终止条件或层数太深
expected ';' before ...缺少分号类定义末尾漏写 ;(类最容易忘)
'xxx' is not a member of ...成员不存在名字拼错或未声明
cannot declare variable to be of abstract type抽象类不能实例化含纯虚函数
invalid use of incomplete type类型未完整定义只前置声明未包含头文件
no matching function for call to ...找不到匹配的函数参数类型/个数不对
undefined reference to ...未定义的引用函数声明了但没实现
'this' was not declaredthis 不可用在静态成员函数里用了 this
expression cannot be used as a function表达式被当函数调用变量名与函数名冲突

术语以本书正文用法为准;英文拼写以 C++ 官方写法为准。

百炼成钢,融会贯通