2026WRC - C++ 集训3
1. 您的姓名:
2. 题目:()就是把一个复杂的问题分成两个或更多的相同类似的子问题,再把子问题分解成更小的子问题……直到最后的子问题可以简单地直接求解。而原问题的解就是子问题解的并。
A:动态规划
B:贪心
C:分治
D:搜索
3. 题目:()的平均时间复杂度为O(n log n),其中n是待排序的元素个数。
A:快速排序
B:插入排序
C:冒泡排序
D:基数排序
4. 题目:某算法的计算时间表示为递推关系式T(n)=T(n-1)+n(n为正整数)及T(0)=1,则该算法的时间复杂度为()。
A:O(logn)
B:O(nlogn)
C:O(n)
D:O(n²)
5. 题目:设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问在归并算法中,在最坏情况下至少要做多少次比较()。
A:2n-1
B:2n
C:n²
D:nlogn
6. 题目:若要在1000个数中找到最小的10个数,最好采用()。
A:快速排序
B:希尔排序
C:归并排序
D:堆排序
7. 题目:在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是()。
A:访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
B:在第i个结点后插入一个新结点(1≤i≤n)
C:删除第i个结点(1≤i≤n)
D:将n个结点从小到大排序
8. 题目:线性表若采用链表存储结构,要求内存中可用存储单元地址()。
A:必须连续
B:部分地址必须连续
C:一定不连续
D:连续不连续均可
9. 题目:双向链表中有两个指针域,llink和rlink,分别指回前驱及后继,设p指向链表中的一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插入为()。
A:`p->llink = q; q->rlink = p; p->llink->rlink = q; q->llink = p->llink;`
B:`q->llink = p->llink; p->llink->rlink = q; q->rlink = p; p->llink = q->rlink;`
C:`q->rlink = p; p->rlink = q; p->llink->rlink = q; q->rlink = p;`
D:`p->llink->rlink = q; q->rlink = p; q->llink = p->llink; p->llink = q;`
10. 题目:若让元素1,2,3,4,5依次进栈,则出栈次序不可能出现()的情况。
A:5,4,3,2,1
B:2,1,5,4,3
C:4,3,1,2,5
D:1,2,5,4,3
11. 题目:设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈S,出栈的序列为b,d,f,e,c,a,则栈S的容量至少应该是()。
A:6
B:5
C:4
D:3
12. 题目:递归过程或函数调用时,处理参数和返回地址,通常使用一种称为()的数据结构。
A:队列
B:多维数组
C:线性表
D:栈
13. 题目:如果一个栈初始时为空,且当前栈中的元素从栈底到栈顶依次为a, b, c,另有元素d已经出栈,则可能的入栈顺序是()。
A:a, d, c, b
B:b, a, c, d
C:a, c, b, d
D:d, a, b, c
14. 题目:对于入栈顺序为a, b, c, d, e, f, g的序列,下列()不可能是合法的出栈序列。
A:a, b, c, d, e, f, g
B:a, d, c, b, e, g, f
C:a, d, b, c, g, f, e
D:g, f, e, d, c, b, a
15. 题目:()是一种先进先出的线性表。
A:栈
B:队列
C:哈希表(散列表)
D:二叉树
16. 题目:广度优先搜索时,需要用到的数据结构是()。
A:链表
B:队列
C:栈
D:散列表
17. 题目:设循环队列中数组的下标范围是1–n,其头尾指针分别为f和r,则其元素个数为:
A:r - f
B:r - f + 1
C:(r - f) % n + 1
D:(r - f + n) % n
18. 题目:若用一个大小为6的数组来实现循环队列,且当rear和front的值分别为0和3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为:
A:1和5
B:2和4
C:4和2
D:5和1
19. 题目:循环队列中元素数目是()。其中tail=32指向队尾元素,head=15指向队头元素的前一个空位置。队列空间m=60。
A:42
B:16
C:17
D:41
20. 题目:中缀表达式A-(B+C/D)*E的后缀表达式是()
A:AB-C+D/E*
B:ABC+D/-E*
C:ABCD/E*±
D:ABCD/+E*-
21. 题目:前序遍历序列与中序遍历序列相同的二叉树为()
A:根结点无左子树的二叉树
B:根结点无右子树的二叉树
C:只有根结点的二叉树或非叶子结点只有左子树的二叉树
D:只有根结点的二叉树或非叶子结点只有右子树的二叉树
22. 题目:已知7个节点的二叉树的先根遍历是1 2 4 5 6 3 7,中根遍历是4 2 6 5 1 7 3,则该二叉树的后根遍历是()。
A:4 6 5 2 7 3 1
B:4 6 5 2 1 3 7
C:4 2 3 1 5 4 7
D:4 6 5 3 1 7 2
23. 解析:根据先序(根-左-右)和中序(左-根-右)遍历序列可还原二叉树:1. 先序第一个节点1为根节点;在中序中,根节点左侧______ 为左子树,右侧______ 为右子树。2. 左子树的先序为2 4 5 6,中序为4 2 6 5,可知2为左子树的根;其左子树为4,右子树为5 6(先序5 6,中序6 5,可知5为根,6为左子树)。3. 右子树的先序为3 7,中序为7 3,可知3为根,7为左子树。对还原的二叉树进行后序遍历(左-右-根),得到序列:4 6 5 2 7 3 1。
24. 题目:完全二叉树的顺序存储方案,是指将完全二叉树的结点从上至下、从左至右依次存放到一个顺序结构的数组中。假定根结点存放在数组的1位置,则第k号结点的父结点如果存在的话,应当存放在数组的()号位置。
A:2k
B:2k+1
C:k/2下取整
D:(k+1)/2下取整
25. 题目:根节点深度为0,一棵深度为h的满k(k>1)叉树,即除最后一层无任何子节点外,每一层上的所有结点都有k个子结点的树,共有()个结点。
A:$(k^{h+1}-1)/(k-1)$
B:$k^{h-1}$
C:$k^h$
D:$(k^{h-1})/(k-1)$
26. 题目:下列四个序列中,哪一个是堆()
A:75,65,30,15,25,45,20,10
B:75,65,45,10,30,25,20,15
C:75,45,65,30,15,25,20,10
D:75,45,65,10,25,30,20,15
27. 题目:在无向图中,所有顶点的度数之和是边数的()倍.
A:0.5
B:1
C:2
D:4
28. 题目:由四个不同的点构成的简单无向连通图的个数是()。
A:32
B:35
C:38
D:41
29. 题目:由四个没有区别的点构成的简单无向连通图的个数是()。
A:6
B:7
C:8
D:9
30. 题目:设G是有n个结点、m条边(n ≤ m)的连通图,必须删去G的()条边,才能使得G变成一棵树。
A:$m-n+1$
B:$m-n$
C:$m+n+1$
D:$n-m+1$
31. 题目:G是一个非连通无向图(没有重边和自环),共有28条边,则该图至少有()个顶点。
A:9
B:11
C:8
D:10
关闭
更多问卷
复制此问卷