51cto算法与数据结构面试题
(2015-10-26 15:11:27)
标签:
值得收藏51cto算法与数据结构面试题 |
一、单选题 (共24道题,每题2分)
1.假设某算法的时间复杂度符合递推关系式T(n)=2T(n/2)+n,那么该算法的时间
复杂度相当于()
2.个数约为50K的数列需要进行从小到大排序,数列特征是基本逆序(多数数字从大到小,个别乱序),以下哪种排序算法在事先不了解数列特征的情况下性能大概率最优(不考虑空间限制)()。
3.计算三个稠密矩阵A、B、C的乘积ABC,假定三个矩阵的尺寸分别为m*nn*p
p*q,且m
4.在一个单链表中,q的前一个节点为p,删除q所指向节点,则执行()
5.有字符序列{QHCYPAMSRDFX}新序列{FHCDP.A.MQRSYX},是下列()排序算法一趟扫描的结果.
6.在一个双向循环链表中,指针p所指向的节点(非尾节点)之后插入指针s所指向的节点,其修改指针的操作是().
7.带头节点的单链表head为空的判断条件是()
8.假设把整数关键码K散列到N个槽列表,以下哪些散列函数是好的散列函数()
9.下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是().
10.一个栈的入栈序列式ABCDE则不可能的出栈序列是()
11.下面算法的时间复杂度为:Intf(unsignedintn){If(n==0n==1)Return1;ElseReturnn*f(n-1);}
12.对于一个具有n个顶点的无向图,若采用邻接表数据结构表示,则存放表头节点的数组大小为().
13.递归式的先序遍历一个n节点,深度为d的二叉树,则需要栈空间的大小为()
14.关于排序算法的以下说法,错误的是().
15.若一棵二叉树的前序遍历为aebdc,后序遍历为bcdea,则根节点的孩
子节点为()。
16.若一颗二叉树的前序遍历为aebdc后序遍历为bcdea,则根节点的孩
子节点().
17.入栈序列是:a1,a3,a5,a2,a4,a6出栈序列是:a5,a4,a2,a6,a3,a1,则栈的容量最小是多少().
18.intfoo(intn)
{
if(n<=1)return1;
returnn*foo(n-1);
}
上面算法时间复杂度是()
19.如下程序的时间复杂度为(其中m>1e>0)()
x=m;
y=1;
while(x-y>e)
{
x=(x+y)/2;
y=m/x;
}
print(x);
20.关于主对角线(从左上角到右下角)对称的矩阵为对称矩阵;如果一个矩阵中的各个元素取值为0或1,那么该矩阵为01矩阵,求大小为N*N的01对称矩阵的个数?()
21.现有一个包含m个节点的三叉树,即每个节点都有三个指向孩子结点的指针,请问:在这3m个指针中有()个空指针。
22.以下操作中,数组比线性表速度更快的是().
23.以下哪种排序算法需要开辟额外的空间().
24.下面属于构造散列函数的方法是()。
二、判断题 (共1道题,每题1分)
1.已知的一个无向图(边为正数)中顶点AB的一条最短路P,如果把各个边的权重(即相邻两个顶点的距离)变为原来的2倍,那么在新图中,P仍然是AB之间的最短路.