題目:

第一題選C,不解釋吧,按位與就行
第二題選D,不解釋,2*3*sizeof(int*)=48(64位機器上是8位元組一個指針)
第三題選C,我不确定,不過,應該是的
第四題選D,明顯考的是補碼
第5題選D,果斷通路錯誤(這是Java的代碼)
第6題選B,大家都懂
第7題果斷A啊
第8題果斷是B,不解釋,大家懂
第9題是B,’0’不是’\0’,這個要注意
第10題果斷是Fibonacci,顯然是C,前幾個是0,1,2,3,5,8,13,21
第11題選C,計算量是2^35*2^4,現在計算機的主頻是2^30,是以差不多是幾分鐘的事,在這裡我們假設一個遞歸調用的指令條數是16(push,pop,ret等)
樓主雖然算出來這個結果,當時還選了幾秒種,回來仔細一想,這個幾秒鐘秒得有點遠,二逼了
第12題是B,顯然有n=4N1+3N3+2N2+N1+1=N4+n3+n2+n1,是以N0=82,不解釋
第13題果斷是D,這個老題目了,不解釋
第14題是C,二分查找嘛,大家都會,不解釋
第15題是Fulkerson算法,算出來是46,每一次選一個增廣路徑即可,直接選不出來為止
第16題選85,他給出了别人65塊的東西和20塊錢,應該虧損85塊(樓主二了,還加了個100,結果果斷錯)
第17題是2,不解釋Fermart小定理,2^6 mod 7= 1,是以2^100=2^4=16=2 mod 7
第18題,我覺得是B,不知道對不對,這個不會
第19題,算得不太精細,選了A,不确定。
感覺題目我沒讀清楚,現在還是仍然不會這個題目
第20題C,機率與級數運算,不解釋
第21題,果斷B,D,malloc,new申請到的是Virtual Memory,不過,windows裡面還真可以申請到實體記憶體,用的是VirtualAllocEx API即可
第22題CD
樓主選了B,C,B主要是沒看清題目意思,題目說了二叉搜尋樹,操蛋,D的話是正确的,可以在常數時間内變成平衡二叉樹,因為可以在常數時間裡面變成一個有序連結清單,把一個有序列連連結清單變成一個平衡樹是常數時間吧(遞歸)
第23題,其實就是解10^15<=n^14<10^16,解出12<=n<= 13,是以選14,15(我是推出n<10^(8/7)然後算出n<=13,
樓主選了DE,A沒選,主要是忘記了還有左邊的一個式子,二啊,血的教訓
第24題,D,因為選出第一個是白的,是以位于A的機率是2/3
這 個題目有争議,在此不解釋了
第25,不可能,需要2.8*10^8 bit,而藍牙隻能傳2.4*10^7bit是以一幀需要0.2S
第26題(mnlogn)不解釋,歸并而已
第27題顯然是17分鐘
1、2先過河,然後1回來,5、10過河,2回來,1、2過河
時間:2+1+10+2+2=17,不解釋,讀者可以考慮n個人過河的問題,其實原理一樣的哦
第28,錯兩個地方1,沒考慮隻有一個數,2,可能死循環(給你數組0,2,3讓查找1)
樓主兩個都想到了,寫的時候忘記了寫1,悲劇
第29題,果斷SkipList,地球人懂的O(PLogpN)
注意SkioList從上向下查找,一層的查找時間是O(p),共LogpN層,是以總時間是O(PlogpN)