一、選擇題:15分 共10題
1. 在排序方法中,關鍵碼比較次數與記錄地初始排列無關的是 .
a. shell排序 b. 歸併排序 c. 直接插入排序 d. 選擇排序
2. 以下多執行緒對int型變數x的操作,哪幾個需要進行同步:
a. x=y; b. x++; c. ++x; d. x=1;
3. **
void func()
中,變數val的記憶體位址位於:
a. 已初始化資料段 b.未初始化資料段 c.堆 d.棧
4. 同一程序下的執行緒可以共享以下
a. stack b. data section
c. register set d. thread id
6. short a[100],sizeof(a)返回?
a 2 b 4 c 100 d 200 e 400
7. 以下哪種不是基於元件的開發技術_____。
a xpcom b xp c com d corba
8. 以下**列印的結果是(假設執行在i386系列計算機上):
struct st_t
; st_t st[16];
char* p = (char*)(st[2].errstr + 32);
printf("%d", (p - (char*)(st)));
a 32 b 114
c 120 d 1112
9. stl中的哪種結構是連續形式的儲存
a map b set c list d vector
10. 乙個棧的入棧序列是a,b,c,d,e,則棧的不可能的輸出序列是( )
a、edcba; b、decba; c、dceab; d、abcde
二、簡答題:20分,共2題
1. (5分)重複多次fclose乙個開啟過一次的file *fp指標會有什麼結果,並請解釋。
考察點:導致檔案描述符結構中指標指向的記憶體被重複釋放,進而導致一些不可預期的異常。
2. (15分)下面一段**,想在呼叫f2(1)時列印err1,呼叫f2(2)時列印err4,但是**中有一些問題,請做盡可能少的修改使之正確。
1 static int f1(const char *errstr, unsigned int flag) ;
4
5 if(flag & 0x10000)
6 copy = 1;
7 index = (flag & 0x300000) >> 20;
8
9 if(copy) else
16 errstr = __err + index;
17 }
18 19 void f2(int c)
30 }
三、程式設計題:30分 共1題
注意:要求提供完整**,如果可以編譯執行酌情加分。
1. 求符合指定規則的數。
給定函式d(n) = n + n的各位之和,n為正整數,如 d(78) = 78+7+8=93。 這樣這個函式可以看成乙個生成器,如93可以看成由78生成。
定義數a:數a找不到乙個數b可以由d(b)=a,即a不能由其他數生成。現在要寫程式,找出1至10000裡的所有符合數a定義的數。
輸出:
1 3
… 四、設計題:35分 共1題
注意:請盡可能詳細描述你的資料結構、系統架構、設計思路等。建議多寫一些偽**或者流程說明。
1. 假設乙個***搜尋引擎收錄了2^24首歌曲,並記錄了可收聽這些歌曲的2^30條url,但每首歌的url不超過2^10個。系統會定期檢查這些url,如果乙個url不可用則不出現在搜尋結果中。現在歌曲名和url分別通過整型的song_id和url_id唯一確定。對該系統有如下需求:
1) 通過song_id搜尋一首歌的url_id,給出url_id計數和列表
2) 給定乙個song_id,為其新增乙個新的url_id
3) 新增乙個新的song_id
4) 給定乙個url_id,將其置為不可用
限制條件:記憶體占用不超過1g,單個檔案大小不超過2g,乙個目錄下的檔案數不超過128個。
為獲得最佳效能,請說明設計的資料結構、搜尋演算法,以及資源消耗。如果系統資料量擴大,該如何多機分布處理?
百度筆試題
一 選擇題 15分 共10題 1.已知乙個線性表 38,25,74,63,52,48 採用的雜湊函式為hash key key mod 7,將元素雜湊到表長為7的雜湊表中儲存。請選擇後面兩種衝突解決方法分別應用在該雜湊表上進行等概率成功查詢的平均查詢長度,拉鍊法 線性探測法 a.1.0 b.1.5 ...
百度筆試題
1 完成函式 size t foo unsigned int a1,size t al1,unsigned int a2,size t al2 其中a1和a2都為無符號陣列,al1和al2為陣列的長度,陣列的長度為偶數。無符號陣列由一對數字區間組成。如下例 a1 為 0,1,3,6,10,20 a2...
百度筆試題
現在有一組共計n個固定的集合 n為萬量級 每個集合有個從0開始遞增的集合id,每個 集合包含1 m個 term m為o 100的量級 希望設計乙個程式,能夠持續對外服務,輸入是乙個term陣列,輸 出其中任意乙個集 合id 如果該term陣列包含該集合的所有term 如果找不到,輸出 1。要求 1 ...