一、单选
1、80x86中,十进制数-3用16位二进制数表示为?
2、假定符号-、*、$分别代表减法、乘法和指数运算,且
1)三个运算符优先级顺序是:-最高,*其次,$最低;
2)运算符运算时为左结合。请计算3-2*4$1*2$3的值:
(A)4096,(B)-61,(C)64,(D)-80,(E)512
3、下列伪代码中,参数是引用传递,结果是?
calc(double p, double q, double r)
{q=q-1.0;r=r+p}
main(){
double a = 2.5, b = 9.0;
calc(b-a, a, a);
print(a);
}
(A)1.5 (B)2.5 (C)10.5 (D)8 (E)6.5
4、求输出结果:
int foo(int x, int y){
if(x <=0 || y <= 0) return 1;
return 3 * foo(x - 1, y / 2);
}
printf("%d/n", foo(3, 5));
(A)81 (B)27 (C)9 (D)3 (E)1
5、下列哪个数据结构在优先队列中被最广泛使用?
(A)堆 (B)数组 (C)双向链表 (D)图 (E)向量
6、以下算法描述了一个在n国元素的双向链表中找到第k个元素的
方法(k >= 1且k <= n):
如果k <= n - k,从链表开始往前进k-1个元素。
否则,从终点出发,往回走n - k个元素。
这个算法的时间代价是?
(A)θ(nlogn) (B)θ(max{k, n - k}) (C)θ(k + (n - k))
(D)θ(max{k, k - n}) (E)θ(min{k, n - k})
7、有一个由10个顶点组成的图,每个顶点有6个度,那么这个图有几条边?
(A)60 (B)30 (C)20 (D)80 (E)90
8、正则表达式L = x*(x|yx+)。下列哪个字符串不符号L
(A)x (B)xyxyx (C)xyx (D)yxx (E)yx
9、为读取一块数据而准备磁盘驱动器的总时间包括
(A)等待时间 (B)寻道时间 (C)传输时间 (D)等待时间加寻道时间
(E)等待时间加寻道时间加传输时间
二、算法
1、打印出一个二叉树的内容。
2、在一个字符串中找到第一个只出现一次的字符。如abaccdeff,输出b。
3、给定一个长度为N的整数数组(元素有正有负),求所有元素之和
最大的一个子数组。分析算法时空复杂度。不必写代码。
--
稻花香里说丰年,听取蛙声一片。