林老师 · 客观题题库 · 栈队列递归 · 考纲词条练习

栈队列递归 · 考纲词条练习

栈队列递归 · 共 100 题 · 原创真题风格补充卷
真题
复刻
试卷编号NEO-S-2026-栈队列递归
题目总数100 题 · 200 分
试卷类型客观题
考生须知:
① 本卷为客观题单卷,合计 100 题 · 200 分,全部为客观题;
② 试卷右上角设有 「提交答卷」「重置考试」 按钮,提交后系统自动判分并显示答题正确情况,请确认全部作答后再行提交;
③ 试卷不显示答案,提交后方可查看每题作答与正确答案的对照;
④ 答卷进度会保留在本地缓存中,刷新或再次打开仍可继续作答;
⑤ 本卷仅供学生练习使用;请勿用于其他用途;题面有问题请联系:i64coder@163.com。

判 分 报 告

0 / 200 分
0
答 对 · 得 0
0
答 错 · 失 0
当前筛选下没有题目

客 观 题

100 QUESTIONS · 2 POINTS EACH
第 1 题 单选 未作答

空栈 SS,对序列 a,b,c,d,e,f 依次执行:进栈、进栈、出栈、进栈、进栈、出栈。操作完成后栈底元素为( )。(2020 年 CSP-S 真题)

(2 分)
原创 2026 · 单选 第1题 | 知识点 KJ-26b
第 2 题 单选 未作答

空栈依次执行 push(1) push(2) pop() push(3) push(4) pop() pop(),此时栈中从栈底到栈顶为( )。

(2 分)
原创 2026 · 单选 第2题 | 知识点 KJ-26b
第 3 题 单选 未作答

元素 a,b,c,d,e,f 依次进栈,允许进栈退栈交替进行。下列不可能的出栈序列是( )。(2022 年 CSP-S 真题:不允许连续三次退栈)

(2 分)
原创 2026 · 单选 第3题 | 知识点 KJ-26b
第 4 题 单选 未作答

出栈序列 fedcba(全逆序)要求进栈 66 个元素后连续退栈 66 次。如果约束"不允许连续三次退栈",这个序列( )。

(2 分)
原创 2026 · 单选 第4题 | 知识点 KJ-26b
第 5 题 单选 未作答

元素 e1~e6 依次进栈(允许交替退栈),出栈序列为 e2,e4,e3,e6,e5,e1。栈的容量至少为( )个。

(2 分)
原创 2026 · 单选 第5题 | 知识点 KJ-26b
第 6 题 单选 未作答

递归函数在计算机内部通过( )实现。

(2 分)
原创 2026 · 单选 第6题 | 知识点 KJ-26b
第 7 题 单选 未作答

main() 调用 f()f() 调用 g(),此时调用栈从底到顶为( )。

(2 分)
原创 2026 · 单选 第7题 | 知识点 KJ-26b
第 8 题 单选 未作答

函数 A 调用 BB 调用 CC 返回后 B 也返回,然后 A 调用 DD 开始执行时栈中有( )个帧。

(2 分)
原创 2026 · 单选 第8题 | 知识点 KJ-26b
第 9 题 单选 未作答

用栈求中缀表达式 3 + 4 * 2 的值时,读到 * 需要先与栈顶 + 比较优先级,因为( )。

(2 分)
原创 2026 · 单选 第9题 | 知识点 KJ-26b
第 10 题 单选 未作答

表达式 a*(b+c)-d 的后缀表达式为( )。(2020 年 CSP-S 真题)

(2 分)
原创 2026 · 单选 第10题 | 知识点 KJ-26b
第 11 题 单选 未作答

后缀表达式 23*4+ 的值是( )。

(2 分)
原创 2026 · 单选 第11题 | 知识点 KJ-26b
第 12 题 单选 未作答

关于栈的说法,错误的是( )。

(2 分)
原创 2026 · 单选 第12题 | 知识点 KJ-26b
第 13 题 单选 未作答

广度优先搜索(BFS)一定需要用到的数据结构是( )。(2020 年 CSP-S 真题)

(2 分)
原创 2026 · 单选 第13题 | 知识点 KJ-26c
第 14 题 单选 未作答

下面哪个数据结构最适合实现先进先出(FIFO)功能( )。(2024 年 CSP-S 真题)

(2 分)
原创 2026 · 单选 第14题 | 知识点 KJ-26c
第 15 题 单选 未作答

"实现撤销操作(最近做的最先撤销)"应使用( );"实现排队叫号(先来先服务)"应使用( )。

(2 分)
原创 2026 · 单选 第15题 | 知识点 KJ-26c
第 16 题 单选 未作答

容量为 55 的循环队列,front=3, rear=1,队列中有( )个元素。

(2 分)
原创 2026 · 单选 第16题 | 知识点 KJ-26c
第 17 题 单选 未作答

容量为 nn 的循环队列,判满条件 (rear + 1) % n == front 意味着( )。

(2 分)
原创 2026 · 单选 第17题 | 知识点 KJ-26c
第 18 题 单选 未作答

队列初始为空,依次执行 enqueue(A) enqueue(B) dequeue() enqueue(C) dequeue(),此时队头和队尾分别是( )。

(2 分)
原创 2026 · 单选 第18题 | 知识点 KJ-26c
第 19 题 单选 未作答

用两个队列 Q1, Q2 模拟栈的 pop 操作(弹出最后入队的元素),正确做法是( )。

(2 分)
原创 2026 · 单选 第19题 | 知识点 KJ-26c
第 20 题 单选 未作答

优先队列(priority_queue)与普通队列的区别是( )。

(2 分)
原创 2026 · 单选 第20题 | 知识点 KJ-26c
第 21 题 单选 未作答

BFS 用队列实现的层序遍历,第 kk 层的点在队列中的特点是( )。

(2 分)
原创 2026 · 单选 第21题 | 知识点 KJ-26c
第 22 题 单选 未作答

关于队列的说法,错误的是( )。

(2 分)
原创 2026 · 单选 第22题 | 知识点 KJ-26c
第 23 题 单选 未作答

双端队列(deque)的特点是( )。

(2 分)
原创 2026 · 单选 第23题 | 知识点 KS-50b
第 24 题 单选 未作答

deque<int> d 依次执行 push_back(1) push_front(2) push_back(3) push_front(4),从前往后为( )。

(2 分)
原创 2026 · 单选 第24题 | 知识点 KS-50b
第 25 题 单选 未作答

dequepush_front(x) 等价于( )。

(2 分)
原创 2026 · 单选 第25题 | 知识点 KS-50b
第 26 题 单选 未作答

deque<int> d = {1,2,3,4} 执行 pop_front()pop_back() 后,d 变为( )。

(2 分)
原创 2026 · 单选 第26题 | 知识点 KS-50b
第 27 题 单选 未作答

dequevector 的主要区别是( )。

(2 分)
原创 2026 · 单选 第27题 | 知识点 KS-50b
第 28 题 单选 未作答

queue(队列容器适配器)与 deque(双端队列容器)的关系是( )。

(2 分)
原创 2026 · 单选 第28题 | 知识点 KS-50b
第 29 题 单选 未作答

"滑动窗口"问题:长度为 kk 的窗口从左到右滑动,每步求窗口内的最大值。暴力做法 O(nk)O(nk),用单调队列可优化到( )。

(2 分)
原创 2026 · 单选 第29题 | 知识点 KS-50b
第 30 题 单选 未作答

下列最适合用 deque 的场景是( )。

(2 分)
原创 2026 · 单选 第30题 | 知识点 KS-50b
第 31 题 单选 未作答

01deque<int> d;
02for (int i = 1; i <= 5; ++i) {
03    if (i % 2) d.push_front(i);
04    else d.push_back(i);
05}

执行后 d 从前往后为( )。

(2 分)
原创 2026 · 单选 第31题 | 知识点 KS-50b
第 32 题 单选 未作答

关于 deque错误的是( )。

(2 分)
原创 2026 · 单选 第32题 | 知识点 KS-50b
第 33 题 单选 未作答

单调栈是指栈内元素从底到顶保持( )的栈。

(2 分)
原创 2026 · 单选 第33题 | 知识点 KS-50、KS-50c
第 34 题 单选 未作答

维护一个单调递减栈(栈底到栈顶递减),依次入栈 3,1,4,1,53, 1, 4, 1, 5。元素 44 入栈时需要先弹出( )。

(2 分)
原创 2026 · 单选 第34题 | 知识点 KS-50、KS-50c
第 35 题 单选 未作答

数组 {3,1,4,1,5}\{3, 1, 4, 1, 5\},对每个元素找右边第一个比它大的元素。用单调栈(递减栈)求解,元素 33 的下一个更大元素是( )。

(2 分)
原创 2026 · 单选 第35题 | 知识点 KS-50、KS-50c
第 36 题 单选 未作答

下列问题最适合用单调栈解决的是( )。

(2 分)
原创 2026 · 单选 第36题 | 知识点 KS-50、KS-50c
第 37 题 单选 未作答

单调队列是指队列内元素从 front 到 back 保持( ),常用于滑动窗口最值。

(2 分)
原创 2026 · 单选 第37题 | 知识点 KS-50、KS-50c
第 38 题 单选 未作答

维护单调递减队列(存下标),处理数组 {5,3,8}\{5, 3, 8\}。处理 88 时需要先从队尾弹出( )。

(2 分)
原创 2026 · 单选 第38题 | 知识点 KS-50、KS-50c
第 39 题 单选 未作答

数组 {1,3,1,3,5,3,6,7}\{1, 3, -1, -3, 5, 3, 6, 7\},窗口大小 k=3k = 3。窗口 [0,2][0, 2](元素 1,3,11, 3, -1)的最大值和窗口 [4,6][4, 6](元素 5,3,65, 3, 6)的最大值分别是( )。

(2 分)
原创 2026 · 单选 第39题 | 知识点 KS-50、KS-50c
第 40 题 单选 未作答

单调队列与单调栈的本质区别是( )。

(2 分)
原创 2026 · 单选 第40题 | 知识点 KS-50、KS-50c
第 41 题 单选 未作答

单调栈找"每个元素右边第一个更大元素"的代码框架,栈存的是( )。

(2 分)
原创 2026 · 单选 第41题 | 知识点 KS-50、KS-50c
第 42 题 单选 未作答

单调队列求滑动窗口最大值的代码中,"从队头弹出"的条件是( )。

(2 分)
原创 2026 · 单选 第42题 | 知识点 KS-50、KS-50c
第 43 题 单选 未作答

单调栈和单调队列的总时间复杂度都是 O(n)O(n),原因是( )。

(2 分)
原创 2026 · 单选 第43题 | 知识点 KS-50、KS-50c
第 44 题 单选 未作答

关于单调栈和单调队列,错误的是( )。

(2 分)
原创 2026 · 单选 第44题 | 知识点 KS-50、KS-50c
第 45 题 单选 未作答

在程序运行过程中,如果递归调用的层数过多,可能会由于( )引发错误。(2021 年 CSP-S 真题)

(2 分)
原创 2026 · 单选 第45题 | 知识点 KJ-21d
第 46 题 单选 未作答

递归深度 10510^5 的函数(每帧约 100100 字节),总栈空间约( )。

(2 分)
原创 2026 · 单选 第46题 | 知识点 KJ-21d
第 47 题 单选 未作答

在 C++ 中,以下哪个函数调用会造成栈溢出( )。(2024 年 CSP-S 真题)

(2 分)
原创 2026 · 单选 第47题 | 知识点 KJ-21d
第 48 题 单选 未作答

递归函数 f(n)=f(n1)+nf(n) = f(n-1) + nf(0)=0f(0)=0)可以改写为循环:for(i=1; i<=n; ++i) s += i;。改写的好处是( )。

(2 分)
原创 2026 · 单选 第48题 | 知识点 KJ-21d
第 49 题 单选 未作答

尾递归是指( )。

(2 分)
原创 2026 · 单选 第49题 | 知识点 KJ-21d
第 50 题 单选 未作答

递归函数 g(n) 调用 g(n-1) 两次(g(0)=1g(0)=1)。g(3)g(3) 的总调用次数是( )。

(2 分)
原创 2026 · 单选 第50题 | 知识点 KJ-21d
第 51 题 单选 未作答

01int h(int n) {
02    if (n <= 0) return 0;
03    return h(n / 2) + n;
04}

h(7) 的返回值是( )。

(2 分)
原创 2026 · 单选 第51题 | 知识点 KJ-21d
第 52 题 单选 未作答

01void p(int n) {
02    if (n == 0) { cout << "*"; return; }
03    p(n - 1);
04    cout << n;
05    p(n - 1);
06}

p(2) 输出( )。

(2 分)
原创 2026 · 单选 第52题 | 知识点 KJ-21d
第 53 题 单选 未作答

01int q(int a, int b) {
02    if (b == 0) return a;
03    return q(b, a % b);
04}

q(12, 8) 的返回值是( )(辗转相除法)。

(2 分)
原创 2026 · 单选 第53题 | 知识点 KJ-21d
第 54 题 单选 未作答

递归与分治的关系是( )。

(2 分)
原创 2026 · 单选 第54题 | 知识点 KJ-21d
第 55 题 单选 未作答

设计递归函数时最重要的安全措施是( )。

(2 分)
原创 2026 · 单选 第55题 | 知识点 KJ-21d
第 56 题 单选 未作答

调试递归函数最有效的方法是( )。

(2 分)
原创 2026 · 单选 第56题 | 知识点 KJ-21d
第 57 题 单选 未作答

朴素斐波那契递归 fib(30) 需要约 2301092^{30} \approx 10^9 次调用,但加记忆化后只需( )次。

(2 分)
原创 2026 · 单选 第57题 | 知识点 KJ-21d
第 58 题 单选 未作答

关于递归,错误的是( )。

(2 分)
原创 2026 · 单选 第58题 | 知识点 KJ-21d
第 59 题 单选 未作答

递推与递归的关系是( )。

(2 分)
原创 2026 · 单选 第59题 | 知识点 KJ-31b
第 60 题 单选 未作答

递推 f(n)=f(n1)+3f(n) = f(n-1) + 3f(1)=1f(1) = 1f(5)=?f(5) = ?( )。

(2 分)
原创 2026 · 单选 第60题 | 知识点 KJ-31b
第 61 题 单选 未作答

斐波那契 f(1)=1,f(2)=1,f(n)=f(n1)+f(n2)f(1)=1, f(2)=1, f(n)=f(n-1)+f(n-2)f(8)=?f(8) = ?( )。

(2 分)
原创 2026 · 单选 第61题 | 知识点 KJ-31b
第 62 题 单选 未作答

递推 f(1)=1,f(2)=2,f(n)=f(n1)+f(n2)f(1)=1, f(2)=2, f(n) = f(n-1) + f(n-2)f(6)=?f(6) = ?( )。

(2 分)
原创 2026 · 单选 第62题 | 知识点 KJ-31b
第 63 题 单选 未作答

汉诺塔递推 h(n)=2h(n1)+1h(n) = 2h(n-1) + 1h(1)=1h(1) = 1h(5)=?h(5) = ?( )。

(2 分)
原创 2026 · 单选 第63题 | 知识点 KJ-31b
第 64 题 单选 未作答

汉诺塔 n=2n = 2(A→C 借助 B),移动序列是( )。

(2 分)
原创 2026 · 单选 第64题 | 知识点 KJ-31b
第 65 题 单选 未作答

递推 f(n)=2f(n1)f(n) = 2f(n-1)f(1)=1f(1) = 1)的通项公式是( )。

(2 分)
原创 2026 · 单选 第65题 | 知识点 KJ-31b
第 66 题 单选 未作答

递推 f(n)=f(n1)+f(n2)f(n) = f(n-1) + f(n-2) 的特征方程 x2=x+1x^2 = x + 1 的解中包含黄金比 ϕ=1+52\phi = \frac{1+\sqrt{5}}{2}。这说明斐波那契数列的增长速度是( )。

(2 分)
原创 2026 · 单选 第66题 | 知识点 KJ-31b
第 67 题 单选 未作答

递推 f(n)=f(n1)+f(n2)f(n) = f(n-1) + f(n-2),初始条件 f(1)=1,f(2)=1f(1)=1, f(2)=1 得斐波那契数列;改为 f(1)=1,f(2)=3f(1)=1, f(2)=3 得到的是( )数列。

(2 分)
原创 2026 · 单选 第67题 | 知识点 KJ-31b
第 68 题 单选 未作答

递推编程的标准框架是( )。

(2 分)
原创 2026 · 单选 第68题 | 知识点 KJ-31b
第 69 题 单选 未作答

斐波那契数列 f(50)1.2×1010f(50) \approx 1.2 \times 10^{10}int(上限约 2.1×1092.1 \times 10^9)能否存下( )。

(2 分)
原创 2026 · 单选 第69题 | 知识点 KJ-31b
第 70 题 单选 未作答

递推 f(n)=f(n1)+f(n2)f(n) = f(n-1) + f(n-2) 只需前两项。不开 f[n]f[n] 数组、只保留两个变量的做法叫( )。

(2 分)
原创 2026 · 单选 第70题 | 知识点 KJ-31b
第 71 题 单选 未作答

递推与动态规划的关系是( )。

(2 分)
原创 2026 · 单选 第71题 | 知识点 KJ-31b
第 72 题 单选 未作答

关于递推,错误的是( )。

(2 分)
原创 2026 · 单选 第72题 | 知识点 KJ-31b
第 73 题 单选 未作答

用双栈法求中缀表达式 2 * (3 + 4) 的值,计算结果是( )。

(2 分)
原创 2026 · 单选 第73题 | 知识点 KJ-26b、KJ-21d
第 74 题 单选 未作答

检查括号串 (()()) 是否匹配:用栈扫描,最终栈的状态是( )。

(2 分)
原创 2026 · 单选 第74题 | 知识点 KJ-26b、KJ-21d
第 75 题 单选 未作答

main() 调用 f(3)f(3) 调用 f(2)f(2) 调用 f(1)f(1) 返回 11。此时栈中从底到顶为( )。

(2 分)
原创 2026 · 单选 第75题 | 知识点 KJ-26b、KJ-21d
第 76 题 单选 未作答

表达式 (a+b)*c-d 的后缀表达式为( )。

(2 分)
原创 2026 · 单选 第76题 | 知识点 KJ-26b、KJ-21d
第 77 题 单选 未作答

01void f(int n) {
02    if (n > 2) { f(n / 2); cout << n; }
03    else cout << n;
04}

f(12) 的输出是( )。

(2 分)
原创 2026 · 单选 第77题 | 知识点 KJ-26b、KJ-21d
第 78 题 单选 未作答

初始空栈和空队列。执行 push(1) push(2) enqueue(pop()) push(3) enqueue(pop()),此时队列从队头到队尾为( )。

(2 分)
原创 2026 · 单选 第78题 | 知识点 KJ-26b、KJ-21d
第 79 题 单选 未作答

二叉树根为 11,左子 22、右子 3322 的左子 44。BFS 层序遍历序列是( )。

(2 分)
原创 2026 · 单选 第79题 | 知识点 KJ-26b、KJ-21d
第 80 题 单选 未作答

01int s(int arr[], int n) {
02    if (n == 0) return 0;
03    return arr[n-1] + s(arr, n-1);
04}

int a[] = {1, 2, 3}; s(a, 3) 返回( )。

(2 分)
原创 2026 · 单选 第80题 | 知识点 KJ-26b、KJ-21d
第 81 题 单选 未作答

递推 f[0]=0,f[1]=1f[0]=0, f[1]=1f[i]=f[i1]+f[i2]f[i] = f[i-1] + f[i-2]f[6]=?f[6] = ?( )。

(2 分)
原创 2026 · 单选 第81题 | 知识点 KJ-26b、KJ-21d
第 82 题 单选 未作答

用两个栈 S1(入队栈)和 S2(出队栈)实现队列。dequeue() 时若 S2 为空,应( )。

(2 分)
原创 2026 · 单选 第82题 | 知识点 KJ-26b、KJ-21d
第 83 题 单选 未作答

用两个队列实现栈的 pop()(弹出最后入队的元素),需要的操作次数是( )。

(2 分)
原创 2026 · 单选 第83题 | 知识点 KJ-26b、KJ-21d
第 84 题 单选 未作答

01int f(int n) {
02    return f(n + 1);  // 没有终止条件
03}

调用 f(0) 的结果是( )。

(2 分)
原创 2026 · 单选 第84题 | 知识点 KJ-26b、KJ-21d
第 85 题 单选 未作答

空栈依次进栈 a,b,c,允许交替出栈。下列可能的出栈序列是( )。

(2 分)
原创 2026 · 单选 第85题 | 知识点 KJ-26b、KJ-21d
第 86 题 单选 未作答

以下对数据结构的表述不恰当的是( )。(2023 年 CSP-S 真题)

(2 分)
原创 2026 · 单选 第86题 | 知识点 KJ-26b、KJ-21d
第 87 题 单选 未作答

栈、队列、deque 的操作能力从少到多排列是( )。

(2 分)
原创 2026 · 单选 第87题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 88 题 单选 未作答

对同一输入序列 1,2,3,栈和队列的出序分别是( )。

(2 分)
原创 2026 · 单选 第88题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 89 题 单选 未作答

n=106n = 10^6 的递归求和 f(n) = f(n-1) + n 应改用循环,主要原因是( )。

(2 分)
原创 2026 · 单选 第89题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 90 题 单选 未作答

防范递归栈溢出的方法不包括( )。

(2 分)
原创 2026 · 单选 第90题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 91 题 单选 未作答

容量 66 的循环队列,rear = 4enqueuerear 变为( )。

(2 分)
原创 2026 · 单选 第91题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 92 题 单选 未作答

递推 f[i]=f[i1]+f[i2]f[i] = f[i-1] + f[i-2]i=?i = ? 开始循环(f[0]f[0]f[1]f[1] 已初始化)( )。

(2 分)
原创 2026 · 单选 第92题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 93 题 单选 未作答

单调栈的核心性质是( )。

(2 分)
原创 2026 · 单选 第93题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 94 题 单选 未作答

滑动窗口最大值用单调递减队列而不是单调递增队列,原因是( )。

(2 分)
原创 2026 · 单选 第94题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 95 题 单选 未作答

递推 f(n)=3f(n1)f(n) = 3 \cdot f(n-1)f(0)=1f(0)=1)的 f(5)=?f(5) = ?( )。

(2 分)
原创 2026 · 单选 第95题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 96 题 单选 未作答

dequeinsert 在中间位置的时间复杂度是( )。

(2 分)
原创 2026 · 单选 第96题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 97 题 单选 未作答

单调队列的"过期弹出"(从队头移出超出窗口的下标)保证了( )。

(2 分)
原创 2026 · 单选 第97题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 98 题 单选 未作答

关于 priority_queue(优先队列),正确的是( )。

(2 分)
原创 2026 · 单选 第98题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 99 题 单选 未作答

递推 f(n)=f(n1)2f(n) = f(n-1) \cdot 2f(0)=1f(0) = 1),f(10)=?f(10) = ?( )。

(2 分)
原创 2026 · 单选 第99题 | 知识点 KJ-26b、KJ-26c、KJ-21d
第 100 题 单选 未作答

关于栈、队列、递归和递推,错误的是( )。

(2 分)
原创 2026 · 单选 第100题 | 知识点 KJ-26b、KJ-26c、KJ-21d