试卷为英文, 题目形式为20个选择题,1-7难度为easy,打对3分,少选2分,空白0分,打错-2分;8-18,答对5分,少答3分,打错扣3分,空白0分,最后两题貌似答对8分,少答5分
1、对80个题目进行选择排序,在主循环32次迭代之后,能保证多少个元素是排好序的(never moved again)
A、31
B、32
C、39
D、40
E、以上都不是
2、以下哪些是同步机制是为了解决race condition(竞态条件)的机制在操作系统的进程中
A、mutex
B、mailbox
C、semaphore 信号量
D、local procedure call 本地过程调用
3、一个有序数列,1,2,....n,栈大小为m,如n=2,m=2,则可能的输出序列为1,2和2,1;则n=7,m=5时,以下哪些为可能输出序列?
选项太长
4、2个二进制数想乘再求和,具体数字肯定记不得了
5、以下程序输出:
- int x=11;
- int const *p = &x;
- p++;
- printf("%d\n", *p);
A、11
B、12
C、garbage num
D、compile error
E、none of above
6、以下代码正确的是
- int fun()
- {
- int *a = new int(3);
- return *a;
- }
- int* fun()
- {
- int a[] = {1,2,3};
- return a ;
- }
- int *fun()
- {
- int a[] = {1,2,3};
- int *p = a;
- return p;
- }
- int fun()
- {
- vector<int> a;
- a.push_back(3);
- return a[0];
- }
大概记得是这个样子, 就是堆栈内存能不能返回的问题,vector那个貌似记错了
7、一张5位数保存的image,180度旋转后得到,不同数字为78933,则原数字为以下哪个?
选项肯定记不清,4个5位数
8、考虑以下递归函数power(int b, int e),考虑其时间复杂度
- int power(int b, int e)
- {
- if (e == 0)
- return 1;
- else if (e%2 == 0)
- return b*power(b, e/2);
- else
- return power(b*b, e/2);
- }
B、sqare
C、linear
D、none of above
9、以下说法正确的是
A、根据中序和前序可以确定一个二叉树
B、根据前序和后续可以确定一个二叉树
C、D忘了
10、
- class CTest
- {
- private:
- ___ int a;
- ___ int b;
- public:
- CTest(int input):b(input)
- {
- }
- };
- int CTest::a = 0;
空格处填:
A、const/static
B、static/const
C、D忘了
主要是const和static的初始化方式
11、既可以修饰变量又可以修饰函数的关键词有
A、const
B、virtual
C、extern
D、inline
E、static
12、以下程序的输出是什么
- char* fun(char* str, char c)
- {
- char* s1 = str;
- char* s2 = str;
- while (*s2 != '\0')
- {
- if (*s2 == c)
- s2++;
- *s1++ = *s2++;
- }
- return str;
- }
- int _tmain()
- {
- char *str = "abcdcccd";
- cout << fun(str, 'c') << endl;
- return 0;
- }
B、abcdcccd
C、abddcccd
D、忘了
实际这段代码貌似记错了,因为编译不过,*s1和*s2都没申请空间,直接改*s1会提示access violation
13、以下说法正确的是
A、在大数据量情况下,插入和冒泡不高效
B、在数据接近排好的情况下,插入排序比快速排序快
C、一个复杂度
D、忘了
14、一个有2047个节点的3叉B树,高度最大为多少?
A、11
B、12
C、13
D、14
15、对于长n的序列有序输入栈,可能的输出有多少种?
16、
17、扑克牌52张,红色(方块和红桃),黑色(花和黑桃),两副牌,从中间拿2张,为红色的概率为:
A、1/2 , 1/2
B、1/52,1/103
C。。
D、。。。
18、兰亭集序,全文共391字,如果保存到text,那么可能的大小为:
A、782 字节,编码为UTF-16
B、784字节,UTF-16
C、1173字节,UTF-8
D、1179字节,UTF-8
19、LIS(longest increasing substring),比如对于序列2,0,5,1,3,4,的最长递增子串为0,1,3,4,,求最长递增子串的时间和空间复杂度为:
A、N^2, N
B、nlogn、N
C、N,N
D,N,C
20、链表逆序,代码太长,不写了