1、假設(shè)進(jìn)棧次序是e1, e2, e3, e4,那可能的出棧次序是()
A、e2, e4, e3, e1
B、e2, e3, e4, e1
C、e3, e2, e4, e1
D、e1, e2, e4, e3
給定入棧順序,求出可能的出棧順序。(點(diǎn)評(píng):老得掉渣得題目了,只要小心點(diǎn)都沒(méi)有問(wèn)題)
2、表達(dá)式X=A+B*(C-D)/E的后綴表示形式可以是()
A、XAB+CDE/-*=
B、XA+BC-DE/*=
C、XABCD-*E/+=
D、XABCDE+*/=
分析:XABCD-*E/+=
3.四叉樹(shù)中包含地空指針數(shù)量有多少?假設(shè)每個(gè)節(jié)點(diǎn)含有四個(gè)指向其孩子的指針,那么給定n個(gè)節(jié)點(diǎn),其4n個(gè)指針有多少指向空?(比較簡(jiǎn)單的題目,n個(gè)節(jié)點(diǎn)使用了的指針有n-1,所以最后的答案位4n-(n-1)=3n+1)
分析:或者舉例說(shuō)明也行。。
4.那個(gè)排序算法是非穩(wěn)定的?選擇,冒泡、希爾,堆排序,快速等 (也是比較基礎(chǔ)的題目)
A、冒泡排序 B、歸并排序 C、快速排序 D、堆排序 E、希爾排序
分析:凡是O(n^2)的全部是穩(wěn)定排序,O(nlogn)的全部是非穩(wěn)定排序。。
5.根據(jù)函數(shù),賦予參數(shù)值,寫輸出。。請(qǐng)問(wèn)func(0x7f530829)的返回值是()
int func(unsigned int i)
{
unsigned int temp = i;
temp = (temp & 0x55555555) + ((temp & 0xaaaaaaaa)>>1);
temp = (temp & 0x33333333) + ((temp & 0xcccccccc)>>2);
temp = (temp & 0x0f0f0f0f) + ((temp & 0xf0f0f0f0)>>4);
temp = (temp & 0xff00ff) + ((temp & 0xff00ff00)>>8);
temp = (temp & 0xffff) + ((temp & 0xffff0000)>>16);
return temp;
}
A、15 B、16 C、17 D、18
分析:函數(shù)實(shí)現(xiàn)的是求二進(jìn)制表示的時(shí)候,1的個(gè)數(shù),一共15個(gè)
最開(kāi)始把每一個(gè)位看做一個(gè)節(jié)點(diǎn),相鄰節(jié)點(diǎn)值相加,結(jié)果用兩個(gè)位表示。。。
然后每?jī)蓚(gè)位看做一個(gè)節(jié)點(diǎn),相鄰節(jié)點(diǎn)值相加,結(jié)果用四個(gè)位表示。。。
以此類推,直到只剩下一個(gè)節(jié)點(diǎn)。。。