壹
客 观 题
100 QUESTIONS · 2 POINTS EACH
第 1 题
单选
未作答
f(n)=O(g(n)) 的含义是( )。
(2 分)
原创 2026 · 单选 第1题 | 知识点 KS-55a
解析
考点:大 O 定义(A1)。
(A1)考点:f(n)=O(g(n)):存在 c>0 和 n0,当 n≥n0 时 f(n)≤c⋅g(n)——g(n) 是 f(n) 的渐近上界。
解析:大 O 不是等式而是不等式:描述增长率的上限——"至多这么快增长"。核心条件是"当 n 足够大时"(忽略小规模行为)。
排除法:选"等于"的人把上界当成了精确值;选"小于"的人漏了常数因子 c;选"无关"的人否定了约束关系。
第 2 题
单选
未作答
(2 分)
原创 2026 · 单选 第2题 | 知识点 KS-55a
解析
考点:渐近上界含义(A2)。
(A2)考点:"O(n²) 的算法"意味着操作次数至多与 n2 成正比(n 足够大时)——是增长率上限。
解析:3n2+5n=O(n2) 不仅是 n2,所有以平方为上界的式子都属于 O(n2)。
排除法:选"恰好 n2" 的人忽略了低阶项与常数;选"至少"的人方向反(那是 Ω);选"等于 n2 毫秒"的人把复杂度等同于具体时间。
第 3 题
单选
未作答
Ω(g(n)) 与 Θ(g(n)) 分别表示( )。
(2 分)
原创 2026 · 单选 第3题 | 知识点 KS-55a
解析
考点:Ω 与 Θ(A3)。
(A3)考点:Ω(g(n)):渐近下界(至少这么快);Θ(g(n)):渐近紧确界(上下同阶)。f=Θ(g)⟺f=O(g) 且 f=Ω(g)。
解析:O 是"不超过"、Ω 是"不小于"、Θ 是"恰好"——三者从不同角度描述增长率。日常说"某算法是 O(n log n)"时,多数场合实际指 Θ(nlogn)。
第 4 题
单选
未作答
(2 分)
原创 2026 · 单选 第4题 | 知识点 KS-55a
解析
考点:常见量级排序(A4)。
(A4)考点:从慢到快:O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(2n)<O(n!)——标准量级阶梯。
解析:每级之间的差距随 n 增大而拉大:n=106 时 O(n)≈106、O(n2)=1012、O(2n) 天文数字。
排除法:B 把 logn 排在 n 之后反了;C 把 O(1) 排在 O(logn) 之后反了;D 把 n 排最前。
第 5 题
单选
未作答
当 n 足够大时,O(nlogn) 与 O(n2) 的关系是( )。
(2 分)
原创 2026 · 单选 第5题 | 知识点 KS-55a
解析
考点:量级比较(A5)。
(A5)考点:n 足够大时 O(n2) 更大:n2/(nlogn)=n/logn→∞——平方的增长速度压倒 nlogn。
解析:logn 是"缓慢增长"的函数(n=106 时 log2n≈20),因此 nlogn 远比 n2 慢。
第 6 题
单选
未作答
O(2n)、O(n/2)、O(100n) 统一写成( )。
(2 分)
原创 2026 · 单选 第6题 | 知识点 KS-55a
解析
考点:常数忽略(A6)。
(A6)考点:O(2n)=O(n/2)=O(100n)=O(n)——大 O 忽略常数因子。
解析:f(n)/g(n)=c(有限常数)时 f=O(g)——倍数关系不改变量级。
排除法:选 O(1) 的人把"常数因子"当成了"常数时间";选"O(2n) 最精确"的人忘了大 O 本身就是忽略常数的记号。
第 7 题
单选
未作答
f(n)=3n2+5n+7 的渐近复杂度是( )。
(2 分)
原创 2026 · 单选 第7题 | 知识点 KS-55a
解析
考点:低阶项忽略(A7)。
(A7)考点:3n2+5n+7=O(n2)——只保留最高阶项,忽略系数与低阶项。
解析:n→∞ 时 n2 项占绝对主导(5n/n2→0);低阶项对增长率无影响。
第 8 题
单选
未作答
两段代码分别 O(n) 和 O(n2),顺序执行的整体复杂度是( )。
(2 分)
原创 2026 · 单选 第8题 | 知识点 KS-55a
解析
考点:大 O 加法(A8)。
(A8)考点:顺序执行的两段代码 O(n) 与 O(n2):O(n)+O(n2)=O(max)=O(n2)——顺序取最大。
解析:总代价 =c1n+c2n2,n 大时 n2 项压倒 n 项。
排除法:选相乘 O(n3) 的人混淆了顺序与嵌套。
第 9 题
单选
未作答
外层循环 O(n) 内嵌循环 O(logn)(嵌套),整体复杂度是( )。
(2 分)
原创 2026 · 单选 第9题 | 知识点 KS-55a
解析
考点:大 O 乘法(A9)。
(A9)考点:外层 O(n) 嵌套内层 O(logn):O(n×logn)=O(nlogn)——嵌套取乘积。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 10 题
单选
未作答
(2 分)
原创 2026 · 单选 第10题 | 知识点 KS-55a
解析
考点:O(1) 含义(A10)。
(A10)考点:O(1) 表示执行时间与输入规模无关——常数时间(数组访问、加减、swap)。
排除法:O(1) 不是"只执行一次"——是执行固定次数不随 n 变。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 11 题
单选
未作答
O(log2n) 与 O(log10n) 的关系是( )。
(2 分)
原创 2026 · 单选 第11题 | 知识点 KS-55a
解析
考点:对数的底(A11)。
(A11)考点:O(log2n)=O(log10n)=O(logn)——换底只差常数因子,大 O 统一写 logn。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 12 题
单选
未作答
(2 分)
原创 2026 · 单选 第12题 | 知识点 KS-55a
解析
考点:输入规模 n(A12)。
(A12)考点:n 指的是输入规模——数组长度、图的顶点数/边数、字符串长度等度量问题大小的量。
排除法:代码行数、秒数、测试组数都不是复杂度分析的 n。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 13 题
单选
未作答
01for (int i = 0; i < n; ++i)
02 sum += a[i];
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第13题 | 知识点 KS-55a
解析
考点:单层循环 O(n)(B1)。
(B1)考点:单层 for i < n 循环执行 n 次——O(n)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 14 题
单选
未作答
01for (int i = 0; i < n; ++i)
02 for (int j = 0; j < n; ++j)
03 cnt++;
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第14题 | 知识点 KS-55a
解析
考点:嵌套循环 O(n²)(B2)。
(B2)考点:两层独立嵌套各 n 次:n×n=n2——O(n2)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 15 题
单选
未作答
三层独立嵌套循环,每层 n 次,时间复杂度是( )。
(2 分)
原创 2026 · 单选 第15题 | 知识点 KS-55a
解析
考点:三层循环 O(n³)(B3)。
(B3)考点:三层独立嵌套各 n 次:n3——O(n3)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 16 题
单选
未作答
01for (int j = 1; j < n; j *= 2)
02 k++;
循环执行次数约为( ),时间复杂度是( )。
(2 分)
原创 2026 · 单选 第16题 | 知识点 KS-55a
解析
考点:j*=2 对数循环(B4)。
(B4)考点:j *= 2 使 j 每次翻倍:1,2,4,…,2k≥n 时结束——循环 log2n 次,O(logn)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 17 题
单选
未作答
01for (int j = n; j > 0; j /= 2)
02 k++;
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第17题 | 知识点 KS-55a
解析
考点:j/=2 对数循环(B5)。
(B5)考点:j /= 2 同理每次减半:logn 次结束。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 18 题
单选
未作答
01for (int i = 1; i * i < n; ++i)
02 k++;
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第18题 | 知识点 KS-55a
解析
考点:i*i<n 开方循环(B6)。
(B6)考点:i*i < n 等价于 i<n——循环 n 次,O(n)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 19 题
单选
未作答
01for (int i = 0; i < n; ++i)
02 for (int j = 1; j < n; j *= 2)
03 k++;
时间复杂度是( )。(2022 年 S 组真题考法)
(2 分)
原创 2026 · 单选 第19题 | 知识点 KS-55a
解析
考点:混合内外层(B7)。
(B7)考点:外层 n 次 × 内层 j *= 2 logn 次 = O(nlogn)。(2022 年真题考法)
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 20 题
单选
未作答
01int i = 0, j = n - 1;
02while (i < j) { i++; j--; }
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第20题 | 知识点 KS-55a
解析
考点:双变量相向(B8)。
(B8)考点:i++; j-- 双指针从两端相向:共走 n/2 步——O(n)(常数 21 忽略)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 21 题
单选
未作答
01for (int i = 0; i < n; ++i)
02 for (int j = 0; j < i; ++j)
03 cnt++;
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第21题 | 知识点 KS-55a
解析
考点:内层依赖外层(B9)。
(B9)考点:内层 j < i 依赖外层 i:总次数 0+1+⋯+(n−1)=2n(n−1)——O(n2)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 22 题
单选
未作答
01int i, j, k = 0;
02for (i = 0; i < n; i++) {
03 for (j = 0; j < n; j *= 2) {
04 k = k + n / 2;
05 }
06}
时间复杂度是( )。(2022 年 CSP-S 单选真题)
(2 分)
原创 2026 · 单选 第22题 | 知识点 KS-55a
解析
考点:代码段综合真题(B10)。
(B10)考点:外层 i++ n 次 × 内层 j *= 2(注意初值 j=0,j 乘 2 恒为 0,循环不终止——但真题中初值为 1 时内层 logn 次):整体 O(nlogn)。(2022 年 S 组真题原题,考识别对数型内层)
排除法:选 O(n) 的人没看到嵌套;选 O(n2) 的人误判内层为线性。
第 23 题
单选
未作答
01while (n > 1) { n = n / 3; }
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第23题 | 知识点 KS-55a
解析
考点:while 循环复杂度(B11)。
(B11)考点:n = n / 3 每次除以 3:3k≥n 时结束——O(logn)(底 3 与底 2 同阶)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 24 题
单选
未作答
01for (int i = 0; i < n; ++i) a[i]++;
02for (int i = 0; i < n * n; ++i) b[i]++;
整体时间复杂度是( )。
(2 分)
原创 2026 · 单选 第24题 | 知识点 KS-55a
解析
考点:连续循环取最大(B12)。
(B12)考点:两段顺序执行 O(n) 与 O(n2)——取最大 O(n2)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 25 题
单选
未作答
01int a = 1, b = 2;
02swap(a, b);
03cout << a << b;
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第25题 | 知识点 KS-55a
解析
考点:常数次操作(B13)。
(B13)考点:固定几步操作(swap、输出)不随 n 变——O(1)。
排除法:选 O(2) 的人大 O 不写具体常数。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 26 题
单选
未作答
(2 分)
原创 2026 · 单选 第26题 | 知识点 KS-55a
解析
考点:循环综合判断(B14)。
(B14)考点:嵌套取乘积 ✓、顺序取最大 ✓、j *= 2 对数 ✓;"所有嵌套都是 O(n2)"错误——嵌套的复杂度取决于内层增长率(如外 n 内 logn 得 nlogn)。
第 27 题
单选
未作答
分析递归复杂度的"递归树"方法的核心思想是( )。
(2 分)
原创 2026 · 单选 第27题 | 知识点 KS-55a
解析
考点:递归树方法(C1)。
(C1)考点:递归树方法:逐层展开递归、计算每层总代价、所有层求和即总复杂度。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 28 题
单选
未作答
01int f(int n) {
02 if (n <= 1) return 1;
03 return f(n - 1) + 1;
04}
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第28题 | 知识点 KS-55a
解析
考点:单分支递归 O(n)(C2)。
(C2)考点:f(n-1) 单分支每次减 1:递归 n 层、每层 O(1)——O(n)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 29 题
单选
未作答
01int f(int n) {
02 if (n <= 1) return 1;
03 return f(n / 2) + 1;
04}
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第29题 | 知识点 KS-55a
解析
考点:二分递归 O(log n)(C3)。
(C3)考点:f(n/2) 单分支每次减半:递归 logn 层、每层 O(1)——O(logn)(二分查找递归式)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 30 题
单选
未作答
01int fib(int n) {
02 if (n <= 1) return n;
03 return fib(n-1) + fib(n-2);
04}
时间复杂度约是( )。
(2 分)
原创 2026 · 单选 第30题 | 知识点 KS-55a
解析
考点:双子递归 O(2ⁿ)(C4)。
(C4)考点:fib(n-1) + fib(n-2) 双子树:递归树节点数指数增长——O(2n)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 31 题
单选
未作答
主定理(Master Theorem)处理形如 T(n)=aT(n/b)+O(nd) 的递归式,其中 a、b、d 的含义分别是( )。
(2 分)
原创 2026 · 单选 第31题 | 知识点 KS-55a
解析
考点:主定理形式(C5)。
(C5)考点:T(n)=aT(n/b)+O(nd):a 是子问题个数、b 是规模缩小倍数、d 是每层合并代价。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 32 题
单选
未作答
T(n)=2T(n/2)+O(n) 的解是( )。
(2 分)
原创 2026 · 单选 第32题 | 知识点 KS-55a
解析
考点:主定理 T(n)=2T(n/2)+O(n)(C6)。
(C6)考点:a=2,b=2,d=1,a=bd=2:每层代价 O(n) × logn 层 = O(nlogn)——归并排序递归式。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 33 题
单选
未作答
T(n)=2T(n/2)+O(1) 的解是( )。
(2 分)
原创 2026 · 单选 第33题 | 知识点 KS-55a
解析
考点:主定理 T(n)=2T(n/2)+O(1)(C7)。
(C7)考点:a=2,b=2,d=0,a>bd=1:叶节点主导 2logn=n 个叶各 O(1) = O(n)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 34 题
单选
未作答
T(n)=T(n/2)+O(1) 的解是( )。
(2 分)
原创 2026 · 单选 第34题 | 知识点 KS-55a
解析
考点:主定理 T(n)=T(n/2)+O(1)(C8)。
(C8)考点:a=1,b=2,d=0,a=bd=1:logn 层每层 O(1) = O(logn)——二分查找。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 35 题
单选
未作答
递归深度为 d 的递归函数,栈空间复杂度是( )(每帧 O(1) 局部变量)。
(2 分)
原创 2026 · 单选 第35题 | 知识点 KS-55a
解析
考点:递归深度与栈空间(C9)。
(C9)考点:递归深度 d、每帧 O(1) 局部变量:栈空间 O(d)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 36 题
单选
未作答
朴素斐波那契递归 fib(40) 在普通电脑上( )。
(2 分)
原创 2026 · 单选 第36题 | 知识点 KS-55a
解析
考点:斐波那契递归复杂度(C10)。
(C10)考点:朴素斐波那契 O(2n):n=40 时约 240≈1012 次调用——普通电脑需数秒到数十秒。
排除法:选"瞬间完成"的人低估了指数爆炸;选"40 GB"的人把时间混淆为空间。
第 37 题
单选
未作答
(2 分)
原创 2026 · 单选 第37题 | 知识点 KS-55a
解析
考点:归并排序递归式(C11)。
(C11)考点:归并排序 T(n)=2T(n/2)+O(n),a=bd=2,解 O(nlogn)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 38 题
单选
未作答
(2 分)
原创 2026 · 单选 第38题 | 知识点 KS-55a
解析
考点:递归综合判断(C12)。
(C12)考点:"所有递归都比循环慢"错误——递归与循环是同一逻辑的两种表达;编译器可优化尾递归为循环;实际速度取决于编译器与硬件。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 39 题
单选
未作答
(2 分)
原创 2026 · 单选 第39题 | 知识点 KJ-34
解析
考点:冒泡复杂度(D1)。
(D1)考点:冒泡排序平均与最坏均 O(n2)——最好 O(n) 需提前退出优化。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 40 题
单选
未作答
(2 分)
原创 2026 · 单选 第40题 | 知识点 KJ-34
解析
考点:插入复杂度(D2)。
(D2)考点:插入排序最好 O(n)(基本有序)、最坏 O(n2)(完全逆序)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 41 题
单选
未作答
(2 分)
原创 2026 · 单选 第41题 | 知识点 KJ-34
解析
考点:归并复杂度(D3)。
(D3)考点:归并排序最好、平均、最坏均为 O(nlogn)——分区永远对半、与数据无关。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 42 题
单选
未作答
(2 分)
原创 2026 · 单选 第42题 | 知识点 KJ-34
解析
考点:快排复杂度(D4)。
(D4)考点:快排最坏 O(n2)(已序+首元素基准)——平均 O(nlogn)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 43 题
单选
未作答
(2 分)
原创 2026 · 单选 第43题 | 知识点 KJ-34
解析
考点:堆排复杂度(D5)。
(D5)考点:堆排最好、平均、最坏均为 O(nlogn)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 44 题
单选
未作答
计数排序的时间复杂度是( )(n 个元素、值域 V)。
(2 分)
原创 2026 · 单选 第44题 | 知识点 KJ-34
解析
考点:计数排序复杂度(D6)。
(D6)考点:计数排序 O(n+V)——非比较类,不受 nlogn 下界约束。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 45 题
单选
未作答
基于比较的排序算法,最坏情况的比较次数下界是( )。
(2 分)
原创 2026 · 单选 第45题 | 知识点 KJ-34
解析
考点:比较排序下界(D7)。
(D7)考点:基于比较的排序最坏比较次数下界 Ω(nlogn)——n! 种排列、每次比较至多砍半。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 46 题
单选
未作答
以下排序算法中,最坏情况仍保持 O(nlogn) 的是( )。
(2 分)
原创 2026 · 单选 第46题 | 知识点 KJ-34
解析
考点:排序复杂度对比表(D8)。
(D8)考点:最坏仍 O(nlogn) 的排序:归并与堆排;快排最坏退化 O(n2)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 47 题
单选
未作答
(2 分)
原创 2026 · 单选 第47题 | 知识点 KS-55b
解析
考点:空间复杂度定义(E1)。
(E1)考点:空间复杂度 = 算法执行过程中占用的额外存储空间随 n 的增长率。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 48 题
单选
未作答
int a[10000]; 的空间复杂度是( )。
(2 分)
原创 2026 · 单选 第48题 | 知识点 KS-55b
解析
考点:数组空间计算(E2)。
(E2)考点:int a[10000] 大小固定 10000×4 字节——O(1)(不随 n 变)。
排除法:选 O(10000) 的人大 O 不写具体数字。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 49 题
单选
未作答
int g[n][n];(n 是运行时输入)的空间复杂度是( )。
(2 分)
原创 2026 · 单选 第49题 | 知识点 KS-55b
解析
考点:二维数组空间(E3)。
(E3)考点:int g[n][n] 大小 n2×4——O(n2)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 50 题
单选
未作答
递归深度为 n 的函数(每帧 O(1) 变量),空间复杂度是( )。
(2 分)
原创 2026 · 单选 第50题 | 知识点 KS-55b
解析
考点:递归栈空间(E4)。
(E4)考点:递归深度 n、每帧 O(1):栈空间 O(n)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 51 题
单选
未作答
冒泡排序、插入排序、快速排序的共同空间特征是( )。
(2 分)
原创 2026 · 单选 第51题 | 知识点 KS-55b
解析
考点:原地排序空间(E5)。
(E5)考点:冒泡/插入/快排均为 O(1) 额外空间(原地排序)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 52 题
单选
未作答
(2 分)
原创 2026 · 单选 第52题 | 知识点 KS-55b
解析
考点:归并辅助数组(E6)。
(E6)考点:归并排序合并需 O(n) 临时数组。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 53 题
单选
未作答
vector<int> v; 依次 push_back n 个元素,最坏情况下 vector 的空间复杂度是( )。
(2 分)
原创 2026 · 单选 第53题 | 知识点 KS-55b
解析
考点:vector 动态空间(E7)。
(E7)考点:vector 倍增扩容最大 O(n) 空间。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 54 题
单选
未作答
(2 分)
原创 2026 · 单选 第54题 | 知识点 KS-55b
解析
考点:空间换时间(E8)。
(E8)考点:用 O(n) 标记数组把 O(n2) 查找降为 O(1)——空间换时间。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 55 题
单选
未作答
n=105 时,O(n2) 的 int 二维数组约需( )。
(2 分)
原创 2026 · 单选 第55题 | 知识点 KS-55b
解析
考点:常见空间量级(E9)。
(E9)考点:n=105 时 O(n2) int 数组需 1010×4≈40 GB——开不出。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 56 题
单选
未作答
(2 分)
原创 2026 · 单选 第56题 | 知识点 KS-55b
解析
考点:空间综合判断(E10)。
(E10)考点:int a[1000000] 大小固定——O(1) 不是 O(n)。选"O(n)"为错误。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 57 题
单选
未作答
(2 分)
原创 2026 · 单选 第57题 | 知识点 KS-55c
解析
考点:记忆化定义(F1)。
(F1)考点:记忆化 = 用数组/哈希表缓存已计算的子问题结果,再次遇到直接查表。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 58 题
单选
未作答
(2 分)
原创 2026 · 单选 第58题 | 知识点 KS-55c
解析
考点:适用场景(F2)。
(F2)考点:最适合大量重复子问题的场景(斐波那契、背包、路径计数)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 59 题
单选
未作答
朴素斐波那契递归是 O(2n);加记忆化后时间复杂度变为( )。
(2 分)
原创 2026 · 单选 第59题 | 知识点 KS-55c
解析
考点:斐波那契记忆化(F3)。
(F3)考点:朴素 O(2n) → 记忆化 O(n):n 个状态各算一次。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 60 题
单选
未作答
记忆化搜索中标记数组 memo[n] 的初始值与含义是( )。
(2 分)
原创 2026 · 单选 第60题 | 知识点 KS-55c
解析
考点:状态标记数组(F4)。
(F4)考点:memo[n] 初始 −1 表示"未计算";算后存真实值;遇已算直接返回。
排除法:初始 0 不能区分"结果恰好为 0"与"未算"。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 61 题
单选
未作答
(2 分)
原创 2026 · 单选 第61题 | 知识点 KS-55c
解析
考点:记忆化与递推关系(F5)。
(F5)考点:记忆化 = 自顶向下 DP;递推 = 自底向上 DP——本质等价、复杂度相同。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 62 题
单选
未作答
记忆化搜索把斐波那契从 O(2n) 降到 O(n),改善的关键在于( )。
(2 分)
原创 2026 · 单选 第62题 | 知识点 KS-55c
解析
考点:记忆化复杂度改善(F6)。
(F6)考点:改善关键是每个状态只算一次——n 个状态 × O(1) 次计算 = O(n)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 63 题
单选
未作答
(2 分)
原创 2026 · 单选 第63题 | 知识点 KS-55c
解析
考点:记忆化代码框架(F7)。
(F7)考点:标准三步:查表返回 → 递归计算 → 存表返回。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 64 题
单选
未作答
(2 分)
原创 2026 · 单选 第64题 | 知识点 KS-55c
解析
考点:记忆化 vs 普通递归(F8)。
(F8)考点:普通递归可能重复计算;记忆化保证每个子问题只算一次。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 65 题
单选
未作答
(2 分)
原创 2026 · 单选 第65题 | 知识点 KS-55c
解析
考点:记忆化适用条件(F9)。
(F9)考点:需要最优子结构 + 重叠子问题——不重叠则没有重复可省。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 66 题
单选
未作答
(2 分)
原创 2026 · 单选 第66题 | 知识点 KS-55c
解析
考点:记忆化综合(F10)。
(F10)考点:记忆化不一定降到 O(1)——降到的复杂度 = 状态数 × 每状态计算量。选"O(1)"为错误。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 67 题
单选
未作答
(2 分)
原创 2026 · 单选 第67题 | 知识点 KS-60a
解析
考点:剪枝定义(G1)。
(G1)考点:剪枝 = 搜索过程中提前排除不可能产生解的分支——"剪掉"无用的子树。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 68 题
单选
未作答
"当前已选数之和已超过目标 t,直接 return"——这是哪种剪枝( )。
(2 分)
原创 2026 · 单选 第68题 | 知识点 KS-60a
解析
考点:可行性剪枝(G2)。
(G2)考点:当前已不满足约束(如 sum > t)→ 此分支不可能有解——可行性剪枝。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 69 题
单选
未作答
"求最大值时,当前价值加剩余全选仍 ≤ 当前最优,剪掉"——这是( )。
(2 分)
原创 2026 · 单选 第69题 | 知识点 KS-60a
解析
考点:最优性剪枝(G3)。
(G3)考点:当前上界仍不优于已知最优 → 继续无意义——最优性剪枝(上界剪枝)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 70 题
单选
未作答
(2 分)
原创 2026 · 单选 第70题 | 知识点 KS-60a
解析
考点:搜索顺序剪枝(G4)。
(G4)考点:调整尝试顺序使好分支先走、坏分支更早暴露——搜索顺序剪枝。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 71 题
单选
未作答
α-β 剪枝用于( )。
(2 分)
原创 2026 · 单选 第71题 | 知识点 KS-60a
解析
考点:α-β 剪枝概念(G5)。
(G5)考点:α-β 用于博弈树:最大化层 α、最小化层 β,α≥β 时剪。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 72 题
单选
未作答
(2 分)
原创 2026 · 单选 第72题 | 知识点 KS-60a
解析
考点:剪枝不改变正确性(G6)。
(G6)考点:被剪分支保证不包含更优解——留下的搜索空间仍包含最优解。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 73 题
单选
未作答
(2 分)
原创 2026 · 单选 第73题 | 知识点 KS-60a
解析
考点:剪枝效果评估(G7)。
(G7)考点:用搜索树实际访问节点数减少比例来衡量。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 74 题
单选
未作答
不剪枝的 DFS 在解空间为排列(n!)时,n=12 的搜索量约是( )。
(2 分)
原创 2026 · 单选 第74题 | 知识点 KS-60a
解析
考点:剪枝与搜索空间(G8)。
(G8)考点:n=12 的排列搜索空间 12!≈4.79×108——不剪枝几乎不可行。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 75 题
单选
未作答
从若干正整数中选一些使和恰好为 t,DFS 搜索时应在什么条件下剪枝( )。
(2 分)
原创 2026 · 单选 第75题 | 知识点 KS-60a
解析
考点:典型剪枝代码(G9)。
(G9)考点:正整数选和恰好 t:sum > t 时剪——正整数只增不减,可行性剪枝。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 76 题
单选
未作答
(2 分)
原创 2026 · 单选 第76题 | 知识点 KS-60a
解析
考点:剪枝综合(G10)。
(G10)考点:剪枝不可以去掉可能包含最优解的分支——那是错误剪枝。选此说法为错误。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 77 题
单选
未作答
(2 分)
原创 2026 · 单选 第77题 | 知识点 KS-55a
解析
考点:分治三步骤(H1)。
(H1)考点:分(拆子问题)→ 治(递归解决)→ 合(合并结果)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 78 题
单选
未作答
(2 分)
原创 2026 · 单选 第78题 | 知识点 KS-55a
解析
考点:分治与递归(H2)。
(H2)考点:分治通常用递归实现——"分"就是递归调用自身处理子问题;但递归不一定是分治(单分支递归没有"分")。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 79 题
单选
未作答
(2 分)
原创 2026 · 单选 第79题 | 知识点 KS-55a
解析
考点:归并排序分治(H3)。
(H3)考点:归并排序:分 = 对半拆到单元素;合 = 合并两个有序段。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 80 题
单选
未作答
(2 分)
原创 2026 · 单选 第80题 | 知识点 KS-55a
解析
考点:快速排序分治(H4)。
(H4)考点:快排:分 = 分区(基准落位、左小右大);合不需要显式操作(分区内自然有序后拼接)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 81 题
单选
未作答
二分查找也可以看作分治,它的递归式与复杂度是( )。
(2 分)
原创 2026 · 单选 第81题 | 知识点 KS-55a
解析
考点:二分查找分治(H5)。
(H5)考点:二分查找 T(n)=T(n/2)+O(1),O(logn)——每次只保留一半。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 82 题
单选
未作答
(2 分)
原创 2026 · 单选 第82题 | 知识点 KS-55a
解析
考点:分治适用条件(H6)。
(H6)考点:分治需要子问题独立(不共享子子问题)——选"必须有交集"为错误。有交集应考虑 DP。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 83 题
单选
未作答
(2 分)
原创 2026 · 单选 第83题 | 知识点 KS-55a
解析
考点:分治复杂度分析(H7)。
(H7)考点:分治复杂度取决于子问题数 a、缩小倍数 b、合并代价 nd——主定理三参数。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 84 题
单选
未作答
主定理中 a 与 bd 的比较决定了复杂度的"档位":a=bd 时是( )。
(2 分)
原创 2026 · 单选 第84题 | 知识点 KS-55a
解析
考点:主定理与分治(H8)。
(H8)考点:a=bd 时每层代价相同 × logn 层 =O(ndlogn)——归并排序 a=2=b1 得 O(nlogn)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 85 题
单选
未作答
(2 分)
原创 2026 · 单选 第85题 | 知识点 KS-55a
解析
考点:分治实例(H9)。
(H9)考点:归并排序、快速排序、二分查找是分治的典型应用;冒泡是逐对比较、Dijkstra 是贪心。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 86 题
单选
未作答
(2 分)
原创 2026 · 单选 第86题 | 知识点 KS-55a
解析
考点:分治综合(H10)。
(H10)考点:不是所有问题都能用分治高效解决——需要满足可分解、子问题独立、可合并三条件。选"都能"为错误。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 87 题
单选
未作答
01for (int i = 0; i < n; ++i)
02 for (int j = i; j < n; ++j)
03 k++;
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第87题 | 知识点 KS-55a
解析
考点:综合代码分析一(I1)。
(I1)考点:内层 j = i; j < n:总次数 n+(n−1)+⋯+1=2n(n+1)——O(n2)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 88 题
单选
未作答
01for (int i = 1; i <= n; ++i)
02 for (int j = 1; j <= n; j += i)
03 k++;
时间复杂度是( )(调和级数 ∑i=1nn/i≈nlnn)。
(2 分)
原创 2026 · 单选 第88题 | 知识点 KS-55a
解析
考点:综合代码分析二(I2)。
(I2)考点:内层 j += i 步长 i:对每个 i 执行 n/i 次,总和 n∑i1≈nlnn——O(nlogn)(调和级数)。
第 89 题
单选
未作答
01void f(int n) {
02 if (n <= 1) return;
03 f(n / 2);
04 f(n / 2);
05 for (int i = 0; i < n; ++i) k++;
06}
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第89题 | 知识点 KS-55a
解析
考点:综合代码分析三(I3)。
(I3)考点:T(n)=2T(n/2)+O(n),a=bd=2——O(nlogn)(归并排序递归式标准形态)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 90 题
单选
未作答
在 n 个数的无序数组中找最大元素,最少需要( )次比较。
(2 分)
原创 2026 · 单选 第90题 | 知识点 KS-55a
解析
考点:真题型代码段(I4)。
(I4)考点:n 个数找最大:擂台法每个元素(除第一个)比较一次——恰好 n−1 次。这是下界也是上界——不可能比 n−1 更少(每个非首元素至少被看过一次)。(2022 年 S 组真题)
排除法:选 n/2 的人误以为可以跳着比;选 n 的人多算了一次。
第 91 题
单选
未作答
01void g(int n) {
02 if (n <= 0) return;
03 for (int i = 0; i < n; ++i) k++;
04 g(n / 2);
05}
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第91题 | 知识点 KS-55a
解析
考点:递归+循环混合(I5)。
(I5)考点:T(n)=T(n/2)+O(n):总代价 n+n/2+n/4+⋯<2n——O(n)(等比级数收敛)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 92 题
单选
未作答
01int c = 0;
02for (int i = 1; i * i <= n; ++i)
03 for (int j = 1; j <= n; j *= 3)
04 c++;
时间复杂度是( )。
(2 分)
原创 2026 · 单选 第92题 | 知识点 KS-55a
解析
考点:多重循环变式(I6)。
(I6)考点:外层 i2≤n 即 n 次 × 内层 j *= 3 即 log3n 次 = O(n⋅logn)。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 93 题
单选
未作答
将 O(n!)、O(2n)、O(n3)、O(n2logn)、O(nlogn) 按增长从慢到快排列,正确的是( )。
(2 分)
原创 2026 · 单选 第93题 | 知识点 KS-55a
解析
考点:复杂度排序(I7)。
(I7)考点:O(nlogn)<O(n2logn)<O(n3)<O(2n)<O(n!)——标准阶梯。
排除法:B 把 n2logn 与 n3 排反(n3/n2logn=n/logn→∞ 所以 n3 更大);C/D 方向反。
第 94 题
单选
未作答
n=106、时限 1 秒(约 108 次运算),O(nlogn) 的算法( )。
(2 分)
原创 2026 · 单选 第94题 | 知识点 KS-55a
解析
考点:量级估算(I8)。
(I8)考点:n=106、O(nlogn)≈106×20=2×107 次——远小于 108 上限,可以通过。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 95 题
单选
未作答
O(1) 算法一定比 O(n) 快,这个说法( )。
(2 分)
原创 2026 · 单选 第95题 | 知识点 KS-55a
解析
考点:综合判断一(I9)。
(I9)考点:O(1) 比 O(n) 快在渐近意义上成立;小 n 时 O(1) 的常数可能很大反而慢——大 O 只描述增长趋势。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 96 题
单选
未作答
(2 分)
原创 2026 · 单选 第96题 | 知识点 KS-55a
解析
考点:综合判断二(I10)。
(I10)考点:时间与空间复杂度不必相同——选"必须相同"为错误。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 97 题
单选
未作答
O(logn) 的算法中,n 翻倍时操作次数( )。
(2 分)
原创 2026 · 单选 第97题 | 知识点 KS-55a
解析
考点:综合判断三(I11)。
(I11)考点:n 翻倍时 log(2n)=logn+1——对数算法只增加 1 次操作。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 98 题
单选
未作答
一个算法的时间复杂度是 O(n2),另一个是 O(nlogn),当 n=104 时大约差多少倍( )。
(2 分)
原创 2026 · 单选 第98题 | 知识点 KS-55a
解析
考点:综合判断四(I12)。
(I12)考点:n=104 时 n2/(nlogn)=104/13≈770 倍——差距巨大。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 99 题
单选
未作答
(2 分)
原创 2026 · 单选 第99题 | 知识点 KS-55a
解析
考点:综合判断五(I13)。
(I13)考点:记忆化(自顶向下)与递推(自底向上)本质等价——不是只能选其一。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。
第 100 题
单选
未作答
n=105,下列复杂度中在 1 秒内无法完成的是( )(设 1 秒约 108 次运算)。
(2 分)
原创 2026 · 单选 第100题 | 知识点 KS-55a
解析
考点:综合判断六(I14)。
(I14)考点:n=105:O(n2)=1010 次,超出 108 上限 100 倍——无法完成。其余均可通过。
解析补充:本题考查复杂度分析的核心概念。掌握大 O 记号的定义与运算规则(嵌套取乘积、顺序取最大、忽略常数与低阶项)是分析代码的基础。