CCF GESP C++ 五级英文词汇表(2026)
共收录 899 个核心术语,按六大板块分类整理。
英文单词(信息学)闪卡游戏
点我,进入游戏:英文单词(信息学)
依据 CCF GESP C++ 五级官方大纲整理:覆盖「初等数论(素数/合数/GCD/LCM/同余模运算/质因数分解/唯一分解定理)、素数筛法(埃氏筛/线性筛)、高精度运算(数组模拟加/减/乘/除/阶乘/快速幂)、链表(单/双/循环·创建/插入/删除/反转)、二分算法(查找/答案)、递归(记忆化/剪枝)、贪心算法、分治(归并/快排/逆序对)、算法复杂度(对数/线性对数/线性/平方/常数)、STL 模板库(vector/set/map)」十三大知识块。本表用于备考识词与读音,共 107 条(94 条 ★ 五级必考核心)。
标注说明:★ = 五级必考核心(大纲明确要求的概念、关键字、算法与数据结构,如 prime/GCD/modulo、sieve/linear sieve、high-precision/carry/borrow、linked list/node/next、binary search/lower bound、recursion/memoization、greedy/optimal substructure、merge sort/quick sort/pivot、vector/set/map 等),必须会认、会读、会用于读程序;无 ★ = 拓展背景(命名来源、别名、了解级内容如快速幂/渐近),理解即可。音标为通用英式发音(IPA),放在 / / 中;短语按实际读法注音。
使用说明
- ★ 标记 = 核心词:五级大纲明确要求的数与数据结构(prime/composite/GCD/LCM/modulo、sieve/linear sieve、high-precision/carry/borrow/digit、linked list/node/next/prev、binary search/lower bound/upper bound、recursion/base case/memoization/pruning、greedy/optimal substructure、merge sort/quick sort/pivot/inversion、logarithmic/linearithmic/linear/quadratic/constant、STL/vector/set/map),必须会认、会读、会用于读程序。
- 无 ★ = 拓展词:命名来源(Euclid/Euler)、别名(Euler's sieve、unique factorization)、了解级内容(modular addition、fast exponentiation、asymptotic、sentinel、sorting greedy),了解即可应付选择题。
- 词性已前置到释义列首位:关键字 / 运算符 / n.(名词)/ v.(动词)/ adj.(形容词)/ 短语,便于记忆词性。
- 严格划界:树与图、DFS/BFS、栈/队列、面向对象/类、动态规划与背包属六级,见文末「六级范围预告」,请勿在五级阶段越级误学。
- 最终以 CCF GESP 官方大纲与培训机构教材为准;本表为辅助识词材料。
词汇分类
一、初等数论基础(Number Theory)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★prime | /praɪm/ | n. 素数、质数(大于 1 且只有 1 和自身两个因数的自然数) |
| 2 | ★composite | /kəmˈpɒzɪt/ | n./adj. 合数(大于 1 且非素数的自然数) |
| 3 | ★factor | /ˈfæktə(r)/ | n. 因数、因子(能整除该数的数,如 6 的 factor 有 1/2/3/6) |
| 4 | ★divisor | /dɪˈvaɪzə(r)/ | n. 约数、除数(同 factor,强调「被整除」语境) |
| 5 | ★multiple | /ˈmʌltɪpl/ | n. 倍数(如 6 是 2 和 3 的 multiple) |
| 6 | ★parity | /ˈpærəti/ | n. 奇偶性(整数除以 2 的余数性质) |
| 7 | ★even | /ˈiːvn/ | adj. 偶数(能被 2 整除) |
| 8 | ★odd | /ɒd/ | adj. 奇数(除以 2 余 1) |
| 9 | ★coprime | /ˈkəʊpraɪm/ | adj. 互素的、互质的(两数的最大公约数为 1) |
二、最大公约数与最小公倍数(GCD & LCM)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★GCD | /dʒiː siː diː/ | n. 最大公约数(Greatest Common Divisor,两数的公共约数中最大者) |
| 2 | ★LCM | /el siː em/ | n. 最小公倍数(Least Common Multiple,两数的公共倍数中最小者) |
| 3 | ★Euclidean algorithm | /juːˈklɪdiən ˈælɡərɪðəm/ | n. 欧几里得算法(即辗转相除法,gcd(a,b)=gcd(b,a%b)) |
| 4 | Euclid | /ˈjuːklɪd/ | n. 欧几里得(古希腊数学家,算法命名来源) |
| 5 | ★remainder | /rɪˈmeɪndə(r)/ | n. 余数(a % b 的结果,辗转相除靠它推进) |
| 6 | ★modulo | /ˈmɒdʒələʊ/ | n. 模、模运算(a mod b 取余,记为 a % b) |
| 7 | ★divide | /dɪˈvaɪd/ | v. 整除(a divides b 表示 a 是 b 的约数) |
| 8 | common divisor | /ˈkɒmən dɪˈvaɪzə(r)/ | 短语 公约数(两数共有的约数) |
| 9 | common multiple | /ˈkɒmən ˈmʌltɪpl/ | 短语 公倍数(两数共有的倍数) |
三、同余与模运算(Modular Arithmetic)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★congruence | /kɒŋˈɡruːəns/ | n. 同余(a ≡ b (mod m) 表示 a、b 除以 m 余数相同) |
| 2 | ★modular arithmetic | /ˈmɒdjələ(r) əˈrɪθmətɪk/ | n. 模运算(在模 m 意义下进行加减乘运算) |
| 3 | ★modulo operator | /ˈmɒdjələʊ ˈɒpəreɪtə(r)/ | n. 取模运算符(C++ 中的 %,读作 modulo) |
| 4 | modular addition | /ˈmɒdjələ(r) əˈdɪʃn/ | n. 模加((a+b) mod m,常用于避免溢出) |
| 5 | modular multiplication | /ˈmɒdjələ(r) mʌltɪplɪˈkeɪʃn/ | n. 模乘((a×b) mod m) |
| 6 | fast exponentiation | /fɑːst ɪkˌspəʊnənʃiˈeɪʃn/ | n. 快速幂(二分思想求 aⁿ mod m,了解即可) |
四、质因数分解与唯一分解定理(Prime Factorization)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★prime factorization | /praɪm ˌfæktəraɪˈzeɪʃn/ | n. 质因数分解(把合数写成素数乘积,如 12=2²×3) |
| 2 | ★factorization | /ˌfæktəraɪˈzeɪʃn/ | n. 因数分解(分解因数的总称) |
| 3 | ★Fundamental Theorem of Arithmetic | /ˌfʌndəˈmentl ˈθɪərəm əv əˈrɪθmətɪk/ | n. 算术基本定理(又称唯一分解定理:每个大于 1 的整数可唯一分解为素数乘积) |
| 4 | unique factorization | /juˈniːk ˌfæktəraɪˈzeɪʃn/ | n. 唯一分解(同 Fundamental Theorem of Arithmetic) |
五、素数筛法(Prime Sieve)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★sieve | /sɪv/ | n. 筛法(用标记法快速求出一定范围内的所有素数) |
| 2 | ★Sieve of Eratosthenes | /siːv əv ˌerəˈtɒsθəniːz/ | n. 埃氏筛(从 2 起划去每个素数的倍数,O(n log log n)) |
| 3 | ★linear sieve | /ˈlɪniə(r) sɪv/ | n. 线性筛(又称欧拉筛,每个合数只被最小素因子划去,O(n)) |
| 4 | Euler's sieve | /ˈɔɪlə(r)z sɪv/ | n. 欧拉筛(同 linear sieve) |
| 5 | ★prime table | /praɪm ˈteɪbl/ | n. 素数表(筛法预先生成的素数集合,供后续查询) |
| 6 | mark | /mɑːk/ | v. 标记(筛法中把合数标记为「非素」) |
| 7 | composite marking | /ˈkɒməzɪt ˈmɑːkɪŋ/ | 短语 合数标记(筛法的核心操作) |
六、高精度运算(High-precision / Big Integer)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★high-precision | /haɪ prɪˈsɪʒn/ | adj. 高精度的(用数组模拟超长整数,突破 long long 范围) |
| 2 | ★big integer | /bɪɡ ɪnˈtiːdʒə(r)/ | n. 大整数(位数远超内置整型的整数) |
| 3 | ★high-precision addition | /haɪ prɪˈsɪʒn əˈdɪʃn/ | 短语 高精度加法(按位相加并处理进位) |
| 4 | ★high-precision subtraction | /haɪ prɪˈsɪʒn səbˈtrækʃn/ | 短语 高精度减法(按位相减并处理借位) |
| 5 | ★high-precision multiplication | /haɪ prɪˈsɪʒn ˌmʌltɪplɪˈkeɪʃn/ | 短语 高精度乘法(模拟竖式逐位相乘累加) |
| 6 | ★high-precision division | /haɪ prɪˈsɪʒn dɪˈvɪʒn/ | 短语 高精度除法(大整数除以小整数,求商与余数) |
| 7 | ★carry | /ˈkæri/ | n. 进位(加法中本位满基向高位进 1) |
| 8 | ★borrow | /ˈbɒrəʊ/ | n. 借位(减法中本位不够向高位借 1) |
| 9 | ★digit | /ˈdɪdʒɪt/ | n. 数位、数字(高精通常按「个位在前」或「高位在前」存储每一位) |
| 10 | ★array simulation | /əˈreɪ ˌsɪmjuˈleɪʃn/ | n. 数组模拟(用一维数组每一位存储大整数的一个数位) |
| 11 | ★factorial | /fækˈtɔːriəl/ | n. 阶乘(高精度阶乘 n! 是经典高精题) |
| 12 | ★overflow | /ˈəʊvəfləʊ/ | n. 溢出(内置整型超出范围出错,高精正是为规避它) |
| 13 | ★leading zero | /ˈliːdɪŋ ˈzɪərəʊ/ | n. 前导零(高精结果最高位前的多余 0,需去除) |
七、链表(Linked List)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★linked list | /ˈlɪŋkt lɪst/ | n. 链表(结点通过指针串联的线性结构,非连续存储) |
| 2 | ★singly linked list | /ˈsɪŋɡli ˈlɪŋkt lɪst/ | n. 单链表(每个结点只含指向下一结点的 next 指针) |
| 3 | ★doubly linked list | /ˈdʌbli ˈlɪŋkt lɪst/ | n. 双链表(结点含 next 与 prev 两个指针) |
| 4 | ★circular linked list | /ˈsɜːkjələ(r) ˈlɪŋkt lɪst/ | n. 循环链表(尾结点 next 指回头结点,成环) |
| 5 | ★node | /nəʊd/ | n. 结点(链表的基本单元,含数据域与指针域) |
| 6 | ★head | /hed/ | n. 头指针、表头(指向链表第一个结点的指针) |
| 7 | ★tail | /teɪl/ | n. 尾结点(链表的最后一个结点,next 为 NULL) |
| 8 | ★next | /nekst/ | n. 后继指针(指向下一结点的成员,如 p->next) |
| 9 | ★prev | /priːv/ | n. 前驱指针(双链表中指向前一结点的成员,全称 previous) |
| 10 | ★insert | /ɪnˈsɜːt/ | v. 插入(在链表中新增一个结点,调整指针指向) |
| 11 | ★delete | /dɪˈliːt/ | v. 删除(从链表中移除结点,注意先接后断防丢链) |
| 12 | ★reverse | /rɪˈvɜːs/ | v. 反转(将链表指向全部颠倒,如 1→2→3 变 3→2→1) |
| 13 | sentinel | /ˈsentɪnl/ | n. 哨兵结点(放在表头/表尾的辅助结点,简化边界判断) |
八、二分算法(Binary Search)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★binary search | /ˈbaɪnəri sɜːtʃ/ | n. 二分查找(在有序序列中每次折半定位目标,O(log n)) |
| 2 | ★lower bound | /ˈləʊə(r) baʊnd/ | n. 下界(有序序列中第一个 ≥ 目标值的位置) |
| 3 | ★upper bound | /ˈʌpə(r) baʊnd/ | n. 上界(有序序列中第一个 > 目标值的位置) |
| 4 | ★binary answer | /ˈbaɪnəri ˈɑːnsə(r)/ | n. 二分答案(把最优化问题转为「判定 mid 是否可行」的二分) |
| 5 | ★binary enumeration | /ˈbaɪnəri ɪˌnjuːməˈreɪʃn/ | n. 二分枚举(同 binary answer,也称二分枚举法) |
| 6 | ★maximize the minimum | /ˈmæksɪmaɪz ðə ˈmɪnɪməm/ | 短语 最大化最小值(二分答案经典模型,「最小值最大」) |
| 7 | ★minimize the maximum | /ˈmɪnɪmaɪz ðə ˈmæksɪməm/ | 短语 最小化最大值(二分答案经典模型,「最大值最小」) |
| 8 | ★monotonic | /ˌmɒnəˈtɒnɪk/ | adj. 单调的(答案具单调性时才能用二分,是二分的前提) |
| 9 | ★predicate | /ˈpredɪkət/ | n. 判定函数(二分答案中检验某 mid 是否满足条件的函数) |
九、递归算法(Recursion)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★recursion | /rɪˈkɜːʃn/ | n. 递归(函数直接或间接调用自身求解问题) |
| 2 | ★base case | /beɪs keɪs/ | n. 递归基、终止条件(递归必须有的最小子问题出口) |
| 3 | ★termination condition | /ˌtɜːmɪˈneɪʃn kənˈdɪʃn/ | n. 终止条件(同 base case,防止无限递归) |
| 4 | ★call stack | /kɔːl stæk/ | n. 调用栈(递归每深入一层就压入一帧,消耗栈空间) |
| 5 | ★stack overflow | /stæk ˈəʊvəfləʊ/ | n. 栈溢出(递归无终止或层数过深导致,程序崩溃) |
| 6 | ★memoization | /ˌmeməɪˈzeɪʃn/ | n. 记忆化(缓存已算子问题结果,避免递归重复计算) |
| 7 | ★pruning | /ˈpruːnɪŋ/ | n. 剪枝(提前排除不可能产生最优解的分支,优化递归) |
| 8 | ★recursive depth | /rɪˈkɜːsɪv depθ/ | n. 递归深度(递归调用的层数,过深易栈溢出) |
十、贪心算法(Greedy)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★greedy | /ˈɡriːdi/ | adj. 贪心的(每步都取当前看来最优的选择) |
| 2 | ★greedy algorithm | /ˈɡriːdi ˈælɡərɪðəm/ | n. 贪心算法(局部最优期望导出全局最优) |
| 3 | ★optimal substructure | /ˈɒptɪml ˌsʌbˈstrʌktʃə(r)/ | n. 最优子结构(问题的最优解含子问题最优解,贪心适用前提) |
| 4 | ★greedy choice | /ˈɡriːdi tʃɔɪs/ | n. 贪心选择(当前步做出的局部最优决策) |
| 5 | ★interval | /ˈɪntəvl/ | n. 区间(区间贪心经典模型,如活动安排、区间覆盖) |
| 6 | sorting greedy | /ˈsɔːtɪŋ ˈɡriːdi/ | n. 排序贪心(先按某关键字排序再贪心,如排队接水) |
十一、分治与排序进阶(Divide & Conquer)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★divide and conquer | /dɪˈvaɪd ənd ˈkɒŋkə(r)/ | n. 分治法(把问题拆为子问题分别求解再合并) |
| 2 | ★merge sort | /mɜːdʒ sɔːt/ | n. 归并排序(二分后有序合并,稳定,O(n log n)) |
| 3 | ★quick sort | /kwɪk sɔːt/ | n. 快速排序(选基准分区,平均 O(n log n),不稳定) |
| 4 | ★merge | /mɜːdʒ/ | v. 合并(归并排序把两个有序段合成一个有序段) |
| 5 | ★partition | /pɑːˈtɪʃn/ | v./n. 分区(快排按 pivot 把数组划为「小/大」两部分) |
| 6 | ★pivot | /ˈpɪvət/ | n. 基准(快排中选定的分区参照元素) |
| 7 | ★inversion | /ɪnˈvɜːʃn/ | n. 逆序对(归并排序可顺便统计,i<j且a[i]>a[j]的数对) |
十二、算法复杂度(Complexity,五级新增量级)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★logarithmic | /ˌlɒɡəˈrɪðmɪk/ | adj. 对数的(如 O(log n),二分查找的复杂度) |
| 2 | ★linearithmic | /ˌlɪniˈrɪðmɪk/ | adj. 线性对数的(如 O(n log n),归并/快排的复杂度) |
| 3 | ★linear | /ˈlɪniə(r)/ | adj. 线性的(如 O(n),单层循环的复杂度) |
| 4 | ★quadratic | /kwɒˈdrætɪk/ | adj. 平方的(如 O(n²),双层嵌套循环的复杂度) |
| 5 | ★constant | /ˈkɒnstənt/ | adj. 常数的(如 O(1),与规模无关的固定开销) |
| 6 | asymptotic | /ˌæsɪmˈtɒtɪk/ | adj. 渐近的(如渐近上界,复杂度随规模趋于无穷时的量级) |
十三、STL 模板库(Containers)
| # | 单词 / 符号(★ 前置) | 音标 | 词性.含义 |
|---|
| 1 | ★STL | /es tiː el/ | n. 标准模板库(Standard Template Library,C++ 泛型容器与算法集) |
| 2 | ★vector | /ˈvektə(r)/ | n. 向量(动态数组容器,支持随机访问与尾部增删) |
| 3 | ★set | /set/ | n. 集合(有序、去重的关联容器,查找 O(log n)) |
| 4 | ★map | /mæp/ | n. 映射(键值对关联容器,按 key 有序) |
| 5 | ★container | /kənˈteɪnə(r)/ | n. 容器(STL 中数据结构的统称,如 vector/set/map) |
| 6 | ★iterator | /ɪˈtəreɪtə(r)/ | n. 迭代器(类似指针的抽象,用于遍历容器元素) |
| 7 | ★push_back | /pʊʃ bæk/ | v. 尾部插入(vector 在末尾追加元素的最常用操作) |
| 8 | ★erase | /ɪˈreɪz/ | v. 删除(从容器中移除指定元素) |
| 9 | ★find | /faɪnd/ | v. 查找(set/map 中按值/键查找,O(log n)) |
| 10 | ★size | /saɪz/ | n. 大小(容器当前元素个数,如 v.size()) |
附录 · 分类统计
| 分类 | 词条 | 核心词(★) |
|---|
| 一 初等数论基础(Number Theory) | 9 | 9 |
| 二 最大公约数与最小公倍数(GCD & LCM) | 9 | 6 |
| 三 同余与模运算(Modular Arithmetic) | 6 | 3 |
| 四 质因数分解与唯一分解定理(Prime Factorization) | 4 | 3 |
| 五 素数筛法(Prime Sieve) | 7 | 4 |
| 六 高精度运算(High-precision / Big Integer) | 13 | 13 |
| 七 链表(Linked List) | 13 | 12 |
| 八 二分算法(Binary Search) | 9 | 9 |
| 九 递归算法(Recursion) | 8 | 8 |
| 十 贪心算法(Greedy) | 6 | 5 |
| 十一 分治与排序进阶(Divide & Conquer) | 7 | 7 |
| 十二 算法复杂度(Complexity,五级新增量级) | 6 | 5 |
| 十三 STL 模板库(Containers) | 10 | 10 |
| 合计 | 107 | 94 |
六级范围预告(不在五级大纲内,避免越级误学):简单树与特殊树(tree / 完全二叉树 / 二叉排序树 / 哈夫曼树 / 哈夫曼编码 / 格雷编码)、深度优先搜索与宽度优先搜索(DFS / BFS)、栈 / 队列 / 循环队列(stack / queue / circular queue)、面向对象思想与类的创建(class / object / OOP)、简单动态规划(一维 DP / 0-1 背包 / 完全背包,如数字三角形、采药)。五级只要求数论、高精度、链表、二分、递归、贪心、分治(归并/快排)、复杂度与 STL(vector/set/map),请勿在五级阶段把树图与 DP 提前混入。
备考建议
- 数论是五级的地基:先吃透 prime/composite/GCD/LCM、Euclidean algorithm(gcd 递归写法)、modulo 取模性质;筛法重点掌握 linear sieve(每个合数只被最小素因子划去,O(n))。
- 高精度靠数组模拟:把大整数按位存进数组,手工处理 carry(加/乘)与 borrow(减),输出前清掉 leading zero;factorial 是高精乘法经典题。
- 链表指针别断链:insert/delete 务必「先接后断」,即先把新结点/后继连好再改前驱的 next,否则会丢失后半段;reverse 用三指针(prev/cur/next)原地反转。
- 二分两大题型:① 二分查找(在有序序列定位,关注 lower bound/upper bound);② 二分答案(答案具 monotonic 时,把最优化转为判定 predicate,典型「最大化最小值 / 最小化最大值」)。
- 递归必须写 base case:否则无限递归导致 stack overflow;重复子问题用 memoization 缓存,无效分支用 pruning 提前退出。
- 贪心认准最优子结构:每步取 greedy choice 能导出全局最优才可用(如区间贪心、排队接水);不确定时用排序贪心先排关键字。
- 分治排序记复杂度:merge sort 稳定、quick sort 平均 O(n log n) 但不稳定;partition 以 pivot 划分数组,merge 合并两有序段;归并可顺便求 inversion(逆序对)。
- 复杂度量级要脱口而出:O(1) constant、O(n) linear、O(n log n) linearithmic、O(n²) quadratic、O(log n) logarithmic;能区分多项式与指数增长。
- STL 提效:vector/set/map 与 iterator/push_back/erase/find/size 熟练使用,能把手写链表/数组操作简化为几行容器代码(但考试常要求手写链表,二者都要会)。
- 拓展词扫一遍:命名来源、别名、了解级内容了解即可应付选择题。