算法与数据结构

术语表

按主题分组的中英对照速查;详细机制见对应知识点。

按主题分组,中文名在前,首次出现附英文原词。解释保持一句话,细节见对应知识点。

基础与分析

术语英文一句话解释
算法Algorithm求解特定问题的有限、明确、可终止的步骤序列。
数据结构Data Structure组织与存储数据以支持一组高效操作的方式。
抽象数据类型Abstract Data Type (ADT)只规定操作与语义约定、不规定实现的逻辑接口。
不变量Invariant在操作前后必须保持成立的性质,是正确性证明的锚点。
时间复杂度Time Complexity运行时间随输入规模增长的增长阶刻画。
空间复杂度Space Complexity额外辅助空间随输入规模增长的增长阶。
大 O 记号Big-O Notation给出增长阶上界的渐进记号,对应地还有 Ω 与 Θ。
均摊分析Amortized Analysis把偶发昂贵操作的代价摊到整个操作序列上的平均上界。
期望复杂度Expected Complexity在随机性假设下代价的数学期望,区别于最坏情形。
主定理Master Theorem直接求解 T(n)=aT(n/b)+f(n) 型递归式的定理。
NP 完全NP-Complete一类「只要其中一个有多项式算法则全体都有」的判定问题类。

数据结构

术语英文一句话解释
动态数组Dynamic Array尾部追加、满了倍增搬家的连续数组,如 vector、Python list。
链表Linked List用指针串联节点的链式存储,牺牲随机访问换已知位置 O(1) 插删。
哨兵节点Sentinel / Dummy Node永远存在的头(尾)占位节点,用于消除边界特判。
栈Stack后进先出(LIFO)的受限线性表。
队列Queue先进先出(FIFO)的受限线性表。
单调栈Monotonic Stack保持栈内元素单调以 O(n) 求「下一个更大元素」类问题的栈。
散列函数Hash Function把键映射到桶下标的函数,要求确定性与均匀性。
负载因子Load Factor元素数 n 与桶数 m 之比 α,决定冲突概率与扩容时机。
开放寻址Open Addressing冲突后按探测序列在同数组内找空位的冲突策略。
布隆过滤器Bloom Filter位数组加多哈希实现的「可能存在/一定不存在」概率结构。
一致性哈希Consistent Hashing环形哈希空间加虚拟节点,使节点增减只迁移邻近数据。
二叉搜索树Binary Search Tree (BST)满足左子树小于根、右子树大于根的有序二叉树。
平衡因子Balance FactorAVL 树中节点左右子树高度之差,绝对值不超过 1。
旋转Rotation保持 BST 序不变、改变局部高度的重组操作。
堆Heap满足堆序性质(父不大于/不小于子)的完全二叉树。
优先队列Priority Queue每次取最值的 ADT,典型实现是堆。
B+ 树B+ Tree面向块存储的多路平衡树,数据全在叶子并以链表相连。
LSM 树Log-Structured Merge Tree把随机写转为顺序写、靠分层合并维护读性能的存储引擎骨架。
图Graph顶点与边的集合 G=(V,E),分有向/无向、带权/无权。
邻接表Adjacency List每个顶点挂一个邻居列表的图表示,适合稀疏图。
广度优先搜索Breadth-First Search (BFS)按层扩展的图遍历,队列实现,可求无权最短路。
深度优先搜索Depth-First Search (DFS)一条路走到黑再回溯的图遍历,栈或递归实现。
松弛Relaxation若经中转点路径更短则更新距离估计的基本操作。
最小生成树Minimum Spanning Tree (MST)连通所有顶点且边权和最小的无环边集。
拓扑排序Topological SortDAG 顶点的线性序,保证每条边从前指向后。
强连通分量Strongly Connected Component (SCC)有向图中互相可达的极大顶点集。
并查集Union-Find / Disjoint Set支持合并与查询所属集合的结构,两优化后近 O(1)。
路径压缩Path Compressionfind 时把沿途节点直接挂到根上的优化。
位掩码Bitmask用整数的二进制位表示集合以加速集合运算。
前缀函数Prefix Function (failure/next)模式串每个前缀的最长相等真前后缀长度,KMP 的核心。

算法思想与工程

术语英文一句话解释
分治Divide and Conquer分解、独立求解、合并三步的通用设计框架。
贪心Greedy每步取局部最优,成立需贪心选择性质与交换论证。
动态规划Dynamic Programming (DP)利用重叠子问题与最优子结构,以状态与转移避免重复计算。
记忆化Memoization缓存子问题结果的 DP 自顶向下形态。
回溯Backtracking系统枚举解空间的 DFS,配合剪枝砍掉无效分支。
剪枝Pruning提前判定子树不可能产生答案从而整支跳过。
状态压缩 DPBitmask DP以位掩码表示已访问集合的动态规划。
稳定性Stability (sorting)相等键排序后相对次序保持不变的排序性质。
原地In-place只用 O(1) 或 O(log n) 额外空间完成排序。
决策树Decision Tree把比较排序过程建模为二叉树以证 n log n 下界的模型。
对拍Differential Testing暴力解与优化解在随机数据上互相比对以验证正确性的方法。
算法公平性Algorithmic Fairness算法决策对不同群体不产生系统性不公正对待的要求。

说明:本清单基于模型知识整理,均为真实存在的经典著作、论文与课程,未附链接;建议按需核对原文与最新版本。

书籍

论文

课程与延伸