網站首頁 實用文 書信 面試 實習 實習報告 職場 職責 勵志 名言 熱點
當前位置:人人簡歷網 > 面試 > 面試筆試

google筆試題zz

欄目: 面試筆試 / 發佈於: / 人氣:2.78W
google筆試題zz
發信人: mysword(劍客無名), 信區: Algorithm
標 題: google筆試題zz
發信站: 飲水思源 (2007年05月12日21:28:05 星期六), 站內信件

1.單項選擇題
1. 下面一段代碼的輸出是[ ]
void fn( int* b){
(*b)++;
}
int main(){
int a=7;
fn(&a);
cout}
A.0 B.7 C.8 fined

2. 定義int i,j,*p=&i; 那麼下面哪條語句可以完成i=j的賦值[ ]
A.i=*p; B. *p=*&j; C.i=&j; D.I=**p;

3. 用二叉搜索樹和哈希表存儲相同的數據集,對於以下何種操作,二叉搜索樹比哈希表


速度更快?[ ]
A.檢索 B. 插入 C.刪除 D.更新 E.排序

4. 包含N個幾點和M條邊的有向帶權圖G, 邊的權為正, 以下操作中不可以在O(N+M)
的時間複雜度內完成的操作是:[ ]
A. 求結點s到結點t之間的最短距離
B. 求距離結點s最近的結點
C. 已知起始結點, 對圖G中的結點進行拓撲排序
D. 求圖G的最大強連通子圖

5. 有如下遞歸函數f(n),其時間複雜度為[ ]
int f(int n){
if(n==0)
return 0;
if(n==1)
return 1;
return ( 5*f(n-1) - 6*f(n-2));
}
A.O(n) B. O(n^2) C. O(n^3) D. O(2^n)

6. 下面所述步驟中,哪一個不是創建經常所必需有的[ ]
A.由調度程序為進程分配CPU B.建立一個進程控制塊
C.為進程分配內存 D.將進程控制塊鏈入就緒隊列

7. 在多進程的系統中,為了保證公區變量的完整性,各進程應互斥進入臨界區。所謂臨


界區是[ ]
A.一個緩衝區 B.一個數據區 C.一個同步機構 D.一段程序

8. 能產生滿足如下條件語言的正則表達式是:1.每一個a後至少緊跟兩個c; 2.每一個b


後至少緊跟一個c [ ]
A.(acc|bc|c)* B.(acc|bc)* C.(ac|bc)* D.不是正則語言

9. 以下哪項不是RPC(遠程過程調用)的特點[ ]
A.速度快 B.降低系統耦合度 C.可以實現異構系統間的協作

10. 有三個桶,容量分別是3升,5升,7升,你只能進行下面的操作:
把一個桶中所有的水倒掉;
把一個桶A中的水倒入桶B,直到桶A空了或者桶B滿了;
假設一開始容量為3升和5升的桶是滿的,7升的桶是空的,希望通過一系列操作使3個桶


中任意一箇中正好有4升水,那麼至少需要[ ]次操作。
A.3 B.5 C.7 D.不可能

2. 程序設計與算法
2.1 實現如下編碼算法,對於重複2-9次數的字符,用兩個數字表示,即NX(其中N為重


復的次數,X為重複的字符,下同),超過九個則先輸出9X,然後處理剩下的字符。對於


連續的不重複的字符,則兩邊加1來封字符串。如果被封的字符串其中有數字為1,則用1


來轉義。 示例: AAAAAABCCCC -> 6A1B14C, 12344 -> 11123124。。。(下面的框


架是用C++語言寫的。你可以用你熟悉的語言。)
void encode (const char* text, char* dest)
text 為需要編碼的字符串,dest表示編碼輸出的目標空間,而空間足夠大

2.2給定一顆有n個結點的二叉樹。求它的所有結點數為m的連通子圖數目。m<=n分析你的


算法的時間複雜度,解釋算法即可,不必寫代碼。
Tags:Google 筆試