歡迎來(lái)到 職場(chǎng)詞典網(wǎng) , 一個(gè)優(yōu)秀的職場(chǎng)知識(shí)學(xué)習(xí)網(wǎng)站!
1、數(shù)據(jù)結(jié)構(gòu)
若一顆二叉樹(shù)的前序遍歷為a,e,b,d,c后序遍歷為b,c,d,e,a,則根節(jié)點(diǎn)的孩子節(jié)點(diǎn)( )
A:只有e
B:有e,b
C:有e,c
D:不確定
答案:A
解析:先序遍歷的首結(jié)點(diǎn)一定是根,所以,a是整個(gè)樹(shù)的根。假設(shè)a的左右孩子分別是a.left、a.right,同時(shí),以a.left為根的子樹(shù)稱(chēng)為
整個(gè)樹(shù)的前序遍歷是:a a.left
整個(gè)樹(shù)的后序遍歷是:
對(duì)照aebdc和bcdea,得:
a.left:e
a.right:NULL
即,a只有左孩子e。
2、算法
已知一個(gè)無(wú)向圖(邊為正數(shù))中頂點(diǎn)A,B的一條最短路P,如果把各個(gè)邊的重(即相鄰兩個(gè)頂點(diǎn)的距離)變?yōu)樵瓉?lái)的2倍,那么在新圖中,P仍然是A,B之間的最短路,以上說(shuō)法是( )
A:錯(cuò)誤
B:正確
答案:B
解析:考察Dijkstra算法:權(quán)值變成2倍后,從A到B,每次新添加的結(jié)點(diǎn)不變,到達(dá)B經(jīng)過(guò)的邊數(shù)也不變。因此,最短路徑和原來(lái)保持不變。注:如果題目是邊的權(quán)值都增加相同的正數(shù),則不保證新最短路徑保持不變。
3、算法
如下程序的時(shí)間復(fù)雜度為(其中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每次都折半為當(dāng)前和的一半,如果不是y=m/x,而是y==1不變,則顯然只經(jīng)過(guò)(logN次,x-y的值即小于e;何況y=m/x會(huì)保證y的新值不小于y的老值,進(jìn)一步降低x-y的值。因此,上限是O(logN)。
下一篇:2016年騰訊游戲策劃筆試題 下一篇 【方向鍵 ( → )下一篇】
上一篇:愛(ài)奇藝2015校園招聘產(chǎn)品經(jīng)理筆試題 上一篇 【方向鍵 ( ← )上一篇】
快搜