选择题
1. 若进栈序列为a、b、c、d,进栈过程中可以出栈,那么()不可能是一个出栈序列。A.cbad B.bdca C.adbc D.cdba
2. 完全二叉树中编号为i的结点存在右孩子,右孩子结点的编号为()设根结点编号为1。A.2i-1 B.2i C.2i+1 D.2i+2
3. 下面哪种排序算法的平均时间复杂度和其他不一样:A.堆排序 B.快排 C.插入排序 D.归并排序
4. 以下情况发生时,对程序运行速度影响最小的是:A.分支预测失败 B.L1 Cache 失效
C.IO等待 D.虚拟内存page miss
5. Inter-processs communication(IPC) is the transfer of data among processes.Which is not a typical programming technique for IPC:
A.mutex B.pipe C.socket D.message queue
6. 给出这样一个函数static int calc(int a, int b){
if(a>=b)
return (a==b)?a:b;
else
return a+b+calc(a+2,b-1);
}
计算calc(2,7)的值
A.25 B.24 C.22 D.16
7. 如果我们的程序需要经常在多种算法中相互替换,我们应该选择哪种设计模式()A.工厂方法模式 B.策略模式 C.适配器模式 D.责任链模式
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。
The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy lets thealgorithm vary independently from clients that use it.
8. 关于数据库的描述错误的是:A.创建索引一定能提升查询时间 B.主键的数据列要简历索引
C.外键的数据列要建立索引 D.常见的数据库索引有Hash索引,B-tree索引
9. 以下TCP原语中,哪一个是用于客户端的:A.bind B.listen C.connect D.accept
10. 小冯和小崔都去参加一个workshop,这个workshop从晚上6点到8点,但是他们都只参加了一部分会议。小冯参会一小时,小崔参会半小时,那么他俩相遇的可能性有多大()
A.5/6 B.5/8 C.1/2 D.1/4
编程题
1. 堆排序2. 求一个正整数N的开方,要求不能用库函数sqrt(),结果的精度在0.001
思路:牛顿迭代法 x(k+1)=(x(k)+n/x(k))/2
泰勒公式展开
3. 给定一个矩阵intmaxtrixA[m][n],每行和每列都是增序的,实现一个算法去找矩阵中的某个元素element.
参考:《剑指Offer》 提示:以矩阵右上角为搜索起点
bool Find(int *matrixA, int m, int n, int element)
{
bool found = false;
if(matrixA != NULL & m & n)
{
int i,j;
i=0;j=n-1;
while(i<m;j>=0)
{
if(maxtrixA[i*n+j] == element)
{
found = true;
break;
}
else if(matrix[i*n+j]>element
--j;
else
++i
}
}
}