一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)
1. 在Linux系统终端中,以下哪个命令用于创建一个新的目录?( )
A. newdir
B. mkdir
C. create
D. mkfolder
答案:B,计算机基础,Linux的基础操作知识。
2. 0,1,2,3,4中选取4个数字,能组成( )个不同四位数。(注:最小的四位数是1000,最大的四位数是9999。)
A. 96
B. 18
C. 120
D. 84
答案:A,组合计数,分步,千位有4种选择,百位4种,十位3种,个位2种,乘法原理,4*4*3*2=96。
3. 假设n是图的顶点的个数,m是图的边的个数,为求解某一问题有下面四种不同时间复杂度的算法。对于m=θ(n)的稀疏图而言,下面的四个选项,哪一项的渐近时间复杂度最小。
A. O(m√logn·loglogn )
B. O(n²+m)
C. O(n²/logm+mlogn)
D. O(m+nlogn)
答案:A,图论,m和n同一级别,可以把所有的m换成n来比较,loglogn<√logn,所以A<D<C<B。
4. 假设有n根柱子,需要按照以下规则依次放置编号为1、2、3、...的圆环:每根柱子的底部固定,顶部可以放入圆环;每次从柱子顶部放入圆环时,需要保证任何两个相邻圆环的编号之和是一个完全平方数。请计算当有4根柱子时,最多可以放置( )个圆环
A. 7
B. 9
C. 11
D. 5
答案:C,模拟整个过程,我们发现,每次放圆环都只有一个选择,假设柱子为ABCD,则A1 B2 C3 D4 D5 C6 B7 A8 B9 C10 D11。
5. 以下对数据结构的表述不恰当的一项是( )
A. 队列是一种先进先出(FIFO)的线性结构
B. 哈夫曼树的构造过程主要是为了实现图的深度优先搜索
C. 散列表是一种通过散列函数将关键字映射到存储位置的数据结构
D. 二叉树是一种每个结点最多有两个子结点的树结构
答案:B,数据结构,哈夫曼树跟DFS没有关联。构造哈夫曼树是一个贪心的过程,可以用来编码压缩。
6. 以下连通无向图中,( )一定可以用不超过两种颜色进行染色
A. 完全三叉树
B. 平面图
C. 边双连通图
D.欧拉图
答案:A,图论,染色问题是同一条边的两个点用不用的颜色。树是一种二分图(两种颜色即可),或者可以试想一下每一层用不同的颜色。
7. 最长公共子序列长度常常用来衡量两个序列的相似度。其定义如下:给定两个序列X={×1,×2,X3,…,xm}和Y={y1,y2,y3,…,yn},最长公共子序列(LCS)问题的目标是找到一个最长的新序列Z={z1,z2,z3,…,zk},使得序列Z既是序列X的子序列,又是序列Y的子序列,且序列Z的长度k在满足上述条件的序列里是最大的。(注:序列A是序列B的子序列,当且仅当在保持序列B元素顺序的情况下,从序列B中删除若干个元素,可以使得剩余的元素构成序列A。)则序列“ABCAAAABA”和“ABABCBABA”的最长公共子序列长度为( )
A. 4
B. 5
C. 6
D. 7
答案:C,动态规划,可以肉眼来看,先匹配头尾的AB和ABA,长度为5,剩下CAAA和ABCB只有一个可取。
8. 一位玩家正在玩一个特殊的掷骰子的游戏,游戏要求连续掷两次骰子,收益规则如下:玩家第一次掷出x点,得到2x元;第二次掷出y点,当y=x时玩家会失去之前得到的2x元,而当y≠x时,玩家能保住第一次获得的2x元。上述x,y∈{1,2,3,4,5,6}。例如:玩家第一次掷出3点得到6元后,但第二次再次掷出3点,会失去之前得到的6元,玩家最终收益为0元;如果玩家第一次掷出3点、第二次掷出4点,则最终收益是6元。假设骰子掷出任意一点的概率均为1/6,玩家连续掷两次骰子后,所有可能情形下收益的平均值是多少?( )
A. 7元
B. 35/6
C. 16/3
D. 19/3
答案:B,概率和期望,假设第一次是a,则5/6的可能性获得2a,1/6的可能性获得0,期望收益是2a*5/6=5a/3,而第一次的期望(1+2+3+4+5+6)/6=7/2,所以5/3*7/2=35/6。
9. 假设我们有以下的C++代码:
请问,res的值是什么?( )
提示:在C++中,逻辑运算的优先级从高到低依次为:逻辑非(!)、逻辑与(&&)、逻辑或(||)。位运算的优先级从高到低依次为:位非(~)、位与(&)、位异或(^)、位或(I)