1、下面的排序演算法中,初始資料集的排列順序對演算法的效能無影響的是(b)
a、插入排序b、堆排序c、氣泡排序 d、快速排序
2、以下關於cache的敘述中,正確的是(b)
a、cpu中的cache容量應大於cpu之外的cache容量
b、cache的設計思想是在合理成本下提高命中率
c、cache的設計目標是容量盡可能與主存容量相等
d、在容量確定的情況下,替換演算法的時間複雜度是影響cache命中率的關鍵因素
3、資料儲存在磁碟上的排列方式會影響i/o服務的效能,乙個圓環的磁軌上有10個物理塊,10個資料記錄r1------r10存放在這個磁軌上,記錄的安排順序如下表所示:
物理塊 1
2 34 5
6 78 9
10邏輯記錄 r1
r2 r3
r4 r5
r6 r7
r8 r9
r10
假設磁碟的旋轉速度為20ms/周,磁碟當前處在r1的開頭處,若系統順序掃瞄後將資料放入單緩衝區內,處理資料的時間為4ms(然後再讀取下個記錄),則處理這10個記錄的最長時間為(c)
a、180ms b、200ms c、204ms d、220ms
2+4+((2+4)+2*8)*9=204
4、隨著ip網路的發展,為了節省可分配的註冊ip位址,有一些位址被拿出來用於私有ip位址,以下不屬於私有ip位址範圍的是(c)
a、10.6.207.84 b、172.23.30.28c、172.32.50.80d、192.168.1.100
a: 10.0.0.0~10.255.255.255 /8 b: 172.16.0.0~172.31.255.255 /12 c: 192.168.0.0~192.168.255.255 /16
5、下列關於乙個類的靜態成員的描述中,不正確的是(d)
a、該類的物件共享其靜態成員變數的值 b、靜態成員變數可被該類的所有方法訪問
c、該類的靜態方法只能訪問該類的靜態成員變數d、該類的靜態資料成員變數的值不可修改
6、已知乙個線性表(38,25,74,63,52,48),假定採用雜湊函式h(key) = key%7計算雜湊位址,並雜湊儲存在雜湊表a【0....6】中,若採用線性探測方法解決衝突,則在該雜湊表上進行等概率成功查詢的平均查詢長度為(c)
a、1.5 b、1.7c、2.0d、2.3
a012
3456
記錄63
4838
2574
52查詢次數13
1124
74應該放在下標為4的位置,由於25已經放在這個地方,所以74往後移動,放在了下標為5的位置上了。
由於是等概率查詢,所以結果為:1/6*(1+3+1+1+2+4)= 2.0
7、表示式「x=a+b*(c--d)/e」的字尾表示形式可以為(c)
a、xab+cde/-*= b、xa+bc-de/*=c、xabcd-*e/+=
d、xabcde+*/=
8、(b)設計模式將抽象部分與它的實現部分相分離。
a、singleton(單例)b、 bridge(橋接)
c、 composite(組合) d、 facade(外觀)
9、下面程式的輸出結果為多少?
view plain
void func(char str_arg[100])
int main(void)
輸出結果為:6 5 4 4
對字串進行sizeof操作的時候,會把字串的結束符「\0」計算進去的,進行strlen操作求字串的長度的時候,不計算\0的。
陣列作為函式引數傳遞的時候,已經退化為指標了,func函式的引數str_arg只是表示乙個指標,那個100不起任何作用的。
10、下面程式的輸出結果為多少?
view plain
void func(char str_arg[2])
int main(void)
輸出結果為: 4 5
strlen只是對傳遞給func函式的那個字串求長度,跟str_arg中的那個2是沒有任何關係的,即使把2改為200也是不影響輸出結果的。。
11、到商店裡買200的商品返還100優惠券(可以在本商店代替現金)。請問實際上折扣是多少?
12、題目:已知rand7() 可以產生 1~7 的7個數(均勻概率),利用rand7() 產生rand10() 1~10(均勻概率)
記住這道題重點是:均勻概率
view plain
//rand7 產生的數概率是一樣的,即1~7出現概率一樣,由於我們對結果做了一定的篩選只能通過 1~5,而1~5出現的概率也是一樣的,又由於範圍為1~5 所以 temp1 出現 1~5的概率 為1/5 ,同理 後面的 出現 temp2 的概率為 1/2
//首先temp1出現在1~5的概率為1/5,而temp2出現 1~2 的概率為1/2,也就是說 5*(temp2-1) 出現5或0的概率為1/2,所以假如你要得到1~5的數的話 那麼 5*(temp2-1) 必須0,所以因為你要保證 5*(temp2-1)=0,這個概率只有1/2,再加上 你前面指定1~5 的概率 為1/5 ,所以結果為 1/5*1/2=1/10
int rand10()
while(temp1>5);
dowhile(temp2>2);
return temp1+5*(temp2-1);
}
13、給定能隨機生成整數1到5的函式,寫出能隨機生成整數1到7的函式。
14、對乙個正整數作如下操作:如果是偶數則除以2,如果是奇數則加1,如此進行直到1時操作停止,求經過9次操作變為1的數有多少個?
第9次操作:結果1由2產生。1個被運算元
8:結果2只能由4產生。1個被運算元
7:結果4由8、3產生。2個
6:結果8由16、7產生;結果3由6產生。共3個
5:結果16由32、15產生;結果7由14產生;結果6由12、5產生。共5個…
每次操作,偶數(2除外)都由該數減1和該數的2倍得來,奇數只由該數的2倍得來
各次操作的操作物件個數為:1,1,2,3,5,8,13,21,34,…
本題可以通過所給的變換規律,由易到難,確定操作可變為1的數組成斐波拉契數列,再根據所發現的規律求出經過9次操作變為1的數的個數。
演算法程式設計題:
1、給定乙個字串,求出其最長的重複子串。
思路:使用字尾陣列,對乙個字串生成相應的字尾陣列後,然後再排序,排完序依次檢測相鄰的兩個字串的開頭公共部分。
這樣的時間複雜度為:
生成字尾陣列 o(n)
排序 o(nlogn*n) 最後面的 n 是因為字串比較也是 o(n)
依次檢測相鄰的兩個字串 o(n * n)
總的時間複雜度是 o(n^2*logn),
網易遊戲2011 10 15校園招聘會筆試題
1 對於乙個記憶體位址是32位 記憶體頁是8kb的系統。0x0005f123這個位址的頁號與頁內偏移分別是多少。2 如果x大於0並小於65536,用移位法計算x乘以255的值為 x 8 x x 8 x是不對的,因為移位運算子的優先順序沒有減號的優先順序高,首先計算8 x為0,x左移0位還是8。3 乙...
網易遊戲2011 10 15校園招聘會筆試題
1 對於乙個記憶體位址是32位 記憶體頁是8kb的系統。0x0005f123這個位址的頁號與頁內偏移分別是多少。2 如果x大於0並小於65536,用移位法計算x乘以255的值為 x 8 x x 8 x是不對的,因為移位運算子的優先順序沒有減號的優先順序高,首先計算8 x為0,x左移0位還是8。3 乙...
網易遊戲2011 10 15校園招聘會筆試題
1 對於乙個記憶體位址是32位 記憶體頁是8kb的系統。0x0005f123這個位址的頁號與頁內偏移分別是多少。頁面大小是8kb,那麼頁內偏移量是從0x0000 0 0x1fff 2的13次方 1 0x5f123的頁號是0x2e 48 頁,頁內偏移量是0x1104。2 如果x大於0並小於65536,...