2022年信息学奥赛CSP-S1初赛真题试卷
剩余时间 --:--:--
单选题 共 34 题
1.

Linux系统终端中,用于切换工作目录的命令为( )

2.

以比较为基本运算, 在 个数的数组中找最大的数, 在最坏情况下至少要做(  )次运算。

3.

对于给定的 n,分析以下代码段对应的时间复杂度,其中最为准确的时间复杂度为(  )。

int i, j, k = 0;
for (i = 0; i < n; i++) {
    for (j = 1; j < n; j*=2) {
        k = k + n / 2;
    }
}
4.
给定地址区间为 0~9 的哈希表,哈希函数为 h(x) = x % 10,采用线性探查的冲突解决 策略(对于出现冲突情况,会往后探查第一个空的地址存储;若地址 9 冲突了则从地址 0 重新开始探查)。哈希表初始为空表,依次存储(71, 23, 73, 99, 44, 79, 89)后,请问 89 存储在哈希表哪个地址中。(  )
5.

小明希望选到形如“省 A ·ℒℒDDD”的车牌号。车牌号在“ ·”之前的内容固定不变; 后面 的 5 位号码中, 前 2 位必须是大写英文字母, 后 3 位必须是阿拉伯数字(ℒ代表 A 至 Z,D 表示 0 至 9,两个ℒ和三个D之间可能相同也可能不同)。请问总共有多少个可供选择的车牌号。(  )

6.

共有 8 人选修了程序设计课程,期末大作业要求由 2 人组成的团队完成。假设不区分每个 团队内2人的角色和作用,请问共有多少种可能的组队方案。

7.

每个顶点度数均为 2 的无向图称为“2 正规图”。由编号为从 1 到 n 的顶点构成的所有 2 正 规图,其中包含欧拉回路的不同2正规图的数量为( )。

8.

强连通图的性质不包括(  )

9.
一个深度为5(根结点深度为1)的完全3叉树,按前序遍历的顺序给结点从1开始编号,则第100号结点的父结点是第( )号。
10.

计算机系统用小端(Little Endian)和大端(Big Endian)来描述多字节数据的存储地址顺序模式,其中小端表示将低位字节数据存储在低地址的模式、大端表示将高位字节数据存储在低地址的模式。在小端模式的系统和大端模式的系统分别编译和运行以下 C++ 代码段表示的程序,将分别输出什么结果?( )

unsigned x = 0xDEADBEEF;
unsigned char *p = (unsigned char *)&x;
printf("%X", *p);
11.
假设在基数排序过程中,受宇宙射线的影响,某项数据异变为一个完全不同的值。请问排序算法结束后,可能出现的最坏情况是( )。
12.
考虑对 n 个数进行排序,以下最坏时间复杂度低于 O(n2)的排序方法是(  )。
13.

若元素 a、b、c、d、e、f 依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次 退栈操作,则不可能得到的出栈序列是( )。

14.

你同时用time命令和秒表为某个程序在单核CPU的运行计时。假如time命令的输出如下:

real 0m30.721s
user 0m24.579s
sys 0m6.123s

以下最接近秒表计时的时长为( )。

15.

ack 函数在输入参数(2,2)”时的返回值为(  )。

unsigned ack(unsigned m, unsigned n) {
if (m == 0) return n + 1;
if (n == 0) return ack(m - 1, 1);
return ack(m - 1, ack(m, n - 1)
}
16.
该算法最坏情况下的时间复杂度为(  )。
17.

f(ab)与下列(  )语句的功能最类似。

18.
当输入为“baaabaaabaaabaaaa aaaa”,第 20 行的“j++”语句执行次数为 (  )。
19.

当输入为“5 3 98 26 91 37 46”时,程序第一次执行到第 36 行,val[]数组的内容依次为( )。

20.
若 val[i]的最大值为 100,k 取(  )时算法运算次数最少。
21.
当输入的 k 比 val[i]的最大值还大时,该算法退化为(  )算法。
22.
当输入为“100 7”时,输出为(  )。
23.
当输入为“ -255 8”时,输出为“(  )”。
24.
当输入为“1000000 19”时,输出为“(  )”。
25.
①处应填(  )
26.
②处应填(  )
27.
③处应填(  )
28.
④处应填(  )
29.
⑤处应填(  )
30.

①处应填(  )

31.

②处应填(  )

32.

③处应填( )

33.

④处应填(  )

34.

⑤处应填(  )

判断题 共 9 题
1.
当输入为“abcde fg”时,输出为-1。( )
2.
当输入为“abbababbbab abab”时,输出为4。
3.
当输入为“GoodLuckCsp2022 22”时,第 20 行的“j++”语句执行次数为 2。
4.

这是一个不稳定的排序算法。

5.

该算法的空间复杂度仅与n有关。

6.
该算法的时间复杂度为 𝑂(𝑚(𝑛+𝑘))O(m(n+k))。
7.
该算法的时间复杂度为 0(logk n)。
8.
删除第 23 行的强制类型转换,程序的行为不变。
9.
除非输入的n为0,否则程序输出的字符数为 O(⌊logk |n|⌋ + 1)。
C++ 编辑器
输入
输出