目录
第 1 题
在 Linux 系统终端中,用于切换工作目录的命令为(B)。
A. Is
B. cd
C. cp
D. all
解析,Linux系统中切换目录的命令为 cd 。
第 2 题
你同时用 time 命令和秒表为某个程序在单核 CPU 的运行计时。假如 time 命令的输出如下:
real 0m30.721s user 0m24.579s sys 0m6.123s
以下最接近秒表计时的时长为(A)。
A. 30s
B. 24s
C.18s
D. 6s
解析:real后面的表示真实所用时间。
第 3 题
若元素 a、b、c、d、e、f 依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次退栈操作,则不可能得到的出栈(D)。
A. dcebfa
B. cbdaef
C. bcaefd
D. afedcb
解析:题目说不能连续三次退栈操作,很显然D中“fedcb”有连续退栈超过三次,所以选D。
第 4 题
考虑对 n 个数进行排序,以下最坏时间复杂度低于 O(n^2) 的排序方法是(C)。
A. 插入排序
B. 冒泡排序
C. 归并排序
D. 快算排序
解析:插入排序O(n^2),冒泡排序O(n^2),归并排序O(n log2 n),快速排序O(n^2)
**给一张参考图
第 5 题
假设在基数排序过程中,受宇宙射线的影响,某项数据异变为一个完全不同的值。请问排 序算法结束后,可能出现的最坏情况是(A)。
A. 移除受影响的数据后,最终序列是有序序列
B. 移除受影响的数据后,最终序列是前后两个有序的子序列
C. 移除受影响的数据后,最终序列是一个有序的子序列和一个基本无序的子序列
D. 移除受影响的数据后,最终序列基本无序
解析:删除参与基数排序的个别数据,不对其他数据的位置造成影响。
基数排序的思想及代码-CSDN博客https://blog.csdn.net/applelin2012/article/details/140814779如对基数排序有所不解,可参看此博客。
第 6 题
计算机系统用小端(Little Endian)和大端(Big Endian)来描述多字节数据的存储地 址顺序模式,其中小端表示将低位字节数据存储在低地址的模式、大端表示将高位字节数 据存储在低地址的模式。在小端模式的系统和大端模式的系统分别编译和运行以下 C++代码段表示的程序,将分别输出什么结果?(B)
A. EF、EF
B. EF、DE
C. DE、EF
D. DE、DE解析:记住小端是低位,大端是高位。
第 7 题
一个深度为 5(根结点深度为 1)的完全 3 叉树,按前序遍历的顺序给结点从 1 开始编号,则第 100 号结点的父结点是第(C)号。
A. 95
B. 96
C. 97
D. 98
解析:手写解析,序号为题意中的。
第 8 题
强连通图的性质不包括(B):
A. 每个顶点的度数至少为 1
B. 任意两个顶点之间都有边相连
C. 任意两个顶点之间都有路径相连
D. 每个顶点至少都连有一条边
解析:任意两个顶点之间都有路径相连即可,并非一定是有边相连~
第 9 题
每个顶点度数均为 2 的无向图称为“2 正规图”。由编号为从 1 到 n 的顶点构成的所有 2 正规图,其中包含欧拉回路的不同 2 正规图的数量为(D)
A. n!
B. (n-1)!
C. n!/2
D. (n-1)!/2解析:由于是一个环,我们先确定起点1的位置,剩下的全排列P(n - 1, n - 1) = (n - 1)!,还要考拉顺时针逆时针方向,故再除以2。
第 10 题
共有 8 人选修了程序设计课程,期末大作业要求由 2 人组成的团队完成。假设不区分每个团队内 2 人的角色和作用,请问共有多少种可能的组队方案。(A)。
A. 28
B. 32
C. 56
D. 64
解析:C(8, 2) = (8 * 7) / (2 * 1) = 4 * 7 = 28
第 11 题
小明希望选到形如“省 A·LLDDD ”的车牌号。车牌号在“·”之前的内容固定的 5 位号码中,前 2 位必须是大写英文字母,后 3 位必须是阿拉伯数字(L代表 A 至 Z,D 表示 0 至 9,两个 L 和三个 D 之间可能相同也可能不同)。请问总共有多少个可供选择的车牌号。(C)
A. 20280
B. 52000
C. 676000
D. 1757600解析:26 * 26 * 10 * 10 * 10 = 676000
第 12 题
给定地址区间为 0~9 的哈希表,哈希函数为 h(x) = x % 10,采用线性探查的冲突解决策略(对于出现冲突情况,会往后探查第一个空的地址存储;若地址 9 冲突了则从地址 0 重新开始探查)。哈希表初始为空表,依次存储(71, 23, 73, 99, 44, 79, 89)后,请问 89 存储在哈希表哪个地址中。(D)
A. 9
B. 0
C. 1
D. 2解析:
71 放在 h[1]
23 放在 h[3]
73 放在 h[3],但h[3]非空,所以放在h[4]
99 放在 h[9]
44 放在 h[4]
79 放在 h[9],但h[9]非空,所以放在h[0]
89 放在 h[9],但h[9]h[0]都非空,故放在h[2]
第 13 题
对于给定的 nn,分析以下代码段对应的时间复杂度,其中最为准确的时间复杂度为( )。
int i, j, k = 0; for (i = 0; i < n; i++) { for (j = 1; j < n; j*=2) { k = k + n / 2; } }
A. O(n)
B. O(n log n)
C. O(n sqrt n)
D. O(n ^ 2)
解析:外循环是 n 次,内循环是 log2 n 次,所以循环 n log2 n次,‘2’ 可省略。
第 14 题
以比较为基本运算,在 n 个数的数组中找最大的数,在最坏情况下至少要做(B)次运算。
A. n/2
B. n-1
C. n
D. n+1解析:最坏情况是最大值在最后,两两相比需要比 n - 1 次。
第 15 题
ack 函数在输入参数“(2,2)”时的返回值为(B)。
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)); }
A. 5
B. 7
C. 9
D. 13解析:列表格倒推即可。(列n行m)
m n0 1 2
0 1 2 3
1 2 3 4
2 3 5 7
感谢阅读😊,有错请评论,谢谢~