京東2015應屆生校招筆試題
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)。
【京東2015應屆生校招筆試題】相關文章:
網易2015校招筆試題09-09
京東2015年應屆生招聘筆試題09-19
2015阿里校招運營專員筆試題08-21
2015阿里校招研發工程師筆試題08-13
騰訊校招筆試題01-16
2015百度校招產品經理筆試題目08-19
2015年百度校招產品經理筆試題07-26
騰訊校招筆試題目12-20