- 相關推薦
google公司預選筆試題
大家有興趣看看吧,5/10 sjtu的考卷。
選擇題3、8我蒙的,大牛給解答一下。
1.單項選擇題
1. 下面一段代碼的輸出是[ ]
void fn( int* b){
(*b)++;
}
int main(){
int a=7;
fn(&a);
cout
}
a.0 b.7 c.8 d.undefined
2. 定義int i,j,*p=&i; 那么下面哪條語句可以完成i=j的賦值[ ]
a.i=*p; b. *p=*&j; c.i=&j; d.i=**p;
3. 用二叉搜索樹和哈希表存儲相同的數(shù)據(jù)集,對于以下何種操作,二叉搜索樹比哈希表& lt;br/>
速度更快?[ ]
a.檢索 b. 插入 c.刪除 d.更新 e.排序
4. 包含n個幾點和m條邊的有向帶權(quán)圖g, 邊的權(quán)為正, 以下操作中不可以在o(n+m)
的時間復雜度內(nèi)完成的操作是:[ ]
a. 求結(jié)點s到結(jié)點t之間的最短距離
b. 求距離結(jié)點s最近的結(jié)點
c. 已知起始結(jié)點, 對圖g中的結(jié)點進行拓撲排序
d. 求圖g的最大強連通子圖
5. 有如下遞歸函數(shù) f(n),其時間復雜度為[ ]
int f(int n){
if(n0)
return 0;
if(n1)
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. 下面所述步驟中,哪一個不是創(chuàng)建經(jīng)常所必需有的[ ]
a.由調(diào)度程序為進程分配cpu b.建立一個進程控制塊
c.為進程分配內(nèi)存 d.將進程控制塊鏈入就緒隊列
7. 在多進程的系統(tǒng)中,為了保證公區(qū)變量的完整性,各進程應互斥進入臨界區(qū)。所謂臨
界區(qū)是[ ]
a.一個緩沖區(qū) b.一個數(shù)據(jù)區(qū) c.一個同步機構(gòu) d.一段程序
8. 能產(chǎn)生滿足如下條件語言的正則表達式是:1.每一個a后至少緊跟兩個c; 2.每一個b
后至少緊跟一個c [ ]
a.(acc|bc|c)* b.(acc|bc)* c.(ac|bc)* d.不是正則語言
9. 以下哪項不是rpc(遠程過程調(diào)用)的特點 [ ]
a.速度快 b.降低系統(tǒng)耦合度 c.可以實現(xiàn)異構(gòu)系統(tǒng)間的協(xié)作
10. 有三個桶,容量分別是3升,5升,7升,你只能進行下面的操作:
把一個桶中所有的水倒掉;
把一個桶a中的水倒入桶b,直到桶a空了或者桶b滿了;
假設一開始容量為3升和5升的桶是滿的,7升的桶是空的,希望通過一系列操作使3個桶
中任意一個中正好有4升水,那么至少需要[ ]次操作。
a.3 b.5 c.7 d.不可能
2. 程序設計與算法
2.1 實現(xiàn)如下編碼算法,對于重復2-9次數(shù)的字符,用兩個數(shù)字表示,即nx(其中n為重
復的次數(shù),x為重復的字符,下同),超過九個則先輸出9x,然后處理剩下的字符。對于
連續(xù)的不重復的字符,則兩邊加1來封字符串。如果被封的字符串其中有數(shù)字為1,則用1
來轉(zhuǎn)義。 示例: aaaaaabcccc -> 6a1b14c, 12344 -> 11123124。。。(下面的框
架是用c++語言寫的。你可以用你熟悉的語言。)
void encode (const char* text, char* dest)
text 為需要編碼的字符串,dest表示編碼輸出的目標空間,而空間足夠大
2.2給定一顆有n個結(jié)點的二叉樹。求它的所有結(jié)點數(shù)為m的連通子圖數(shù)目。m<=n分析你的
算法的時間復雜度,解釋算法即可,不必寫代碼。
【google公司預選筆試題】相關文章:
Google面試筆試題及答案08-06
名企面試試題 面試題目 Google08-09
中興2015筆試題08-02
迅雷2011.10.21筆試題08-10
Google的招聘怪招07-31
阿里巴巴非技術類筆經(jīng)及試題08-13
交通銀行2014筆試題題目分享08-10
Adobe公司筆試題08-10
攀枝花移動筆試題,筆經(jīng)分享08-10
關于交行網(wǎng)申的面試預選階段08-08