第一部分 单选题(前10题,每题2分;后10题,每题3分,共50分,选对得满分,选错倒扣1分,不选得0分)
1、假设把整数关键码K散列到有N个槽的散列表,以下哪些散列函数是好的散列函数()
A、h(K)=K mod N;
B、h(K)=1;
C、h(K)=K/N;
D: h(K)=(K+rand(N)) mod N, rand(N)返回一个0到N-1的整数
2. 下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是()
A、堆排序 B、插入排序
C、冒泡排序 D、快速排序
3、下面说法错误的是:
A、CISC计算机比RISC计算机指令多
B、冯诺依曼机体系结构的主要特征是存储程序的工作方式
C、增加流水线段数理论上可以提高CPU频率
D、在指令格式中,采用扩展操作码设计方案的目的是为了保持指令字长不变而增加寻址空间
4、不属于冯诺依曼机体系结构必要组成部分的是:
A、CPU B、Cache C、RAM D、ROM
5、一个栈的入栈序列式ABCDE,则不可能的出栈序列是:
A、DECBA B、DCEBA C、ECDBA D、ABCDE
6.你认为可以完成编写一个C语言编译器的设计语言是:
A、汇编语言 B、C语言 C、VB语言 D、以上皆可
7. 关于C++/JAVA类中的static成员和对象成员的说法正确的是:
A、虚成员函数不可能是static成员函数
B、static成员函数在对象成员函数中无法调用
C、static成员变量在对象构造时生成
D、static成员函数不能访问static成员变量
8、
C、13个
9、某进程在运行过程中需要等待从磁盘上读入数据,此时该进程的状态将:
A、从就绪变为运行 B、从运行变为就绪
C、从运行变为阻塞 D、从阻塞变为就绪
10、下面算法的时间复杂度为:
int f(unsigned int n)
{
if(n == 0 || n == 1)
return 1;
else
return n*f(n-1);
}
A、O(1) B、O(n) C、O(N*N) D、O(n!)
11、n从1开始,每个操作可以选择对n加1或者对n加倍。若想获得整数2013,最少需要多少个操作。
A、24 B、21 C、18 D、不可能
12、对于一个具有n个顶点的无向图,若采用邻接表数据结构表示,则存放表头节点的数组大小为:
A、n B、n+1 C、n-1 D、n+边数
14:如下函数,在32bit系统foo(2^31-3)的值是:
int foo(int x)
{
return x&-x;
}
A、0 B、1 C、2 D、4