欢迎来到 职场词典网 , 一个优秀的职场知识学习网站!
1、数据结构
若一颗二叉树的前序遍历为a,e,b,d,c后序遍历为b,c,d,e,a,则根节点的孩子节点( )
A:只有e
B:有e,b
C:有e,c
D:不确定
答案:A
解析:先序遍历的首结点一定是根,所以,a是整个树的根。假设a的左右孩子分别是a.left、a.right,同时,以a.left为根的子树称为
整个树的前序遍历是:a a.left
整个树的后序遍历是:
对照aebdc和bcdea,得:
a.left:e
a.right:NULL
即,a只有左孩子e。
2、算法
已知一个无向图(边为正数)中顶点A,B的一条最短路P,如果把各个边的重(即相邻两个顶点的距离)变为原来的2倍,那么在新图中,P仍然是A,B之间的最短路,以上说法是( )
A:错误
B:正确
答案:B
解析:考察Dijkstra算法:权值变成2倍后,从A到B,每次新添加的结点不变,到达B经过的边数也不变。因此,最短路径和原来保持不变。注:如果题目是边的权值都增加相同的正数,则不保证新最短路径保持不变。
3、算法
如下程序的时间复杂度为(其中m>1,e>0)( )
x=m;
y=1
while(x-y>e)
{
x=(x+y)/2;
y=m/x
}
print(x);
A:log m
B:m的平方
C:m的1/2方
D:m的1/3方
答案:A
解析:x=(x+y)/2中,x每次都折半为当前和的一半,如果不是y=m/x,而是y==1不变,则显然只经过(logN次,x-y的值即小于e;何况y=m/x会保证y的新值不小于y的老值,进一步降低x-y的值。因此,上限是O(logN)。
下一篇:2016年腾讯游戏策划笔试题 下一篇 【方向键 ( → )下一篇】
上一篇:爱奇艺2015校园招聘产品经理笔试题 上一篇 【方向键 ( ← )上一篇】
快搜