- 相关推荐
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. 用二叉搜索树和哈希表存储相同的数据集,对于以下何种操作,二叉搜索树比哈希表& lt;br/>
速度更快?[ ]
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(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. 下面所述步骤中,哪一个不是创建经常所必需有的[ ]
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分析你的
算法的时间复杂度,解释算法即可,不必写代码。
【google公司预选笔试题】相关文章:
Google面试笔试题及答案08-06
名企面试试题 面试题目 Google08-09
中兴2015笔试题08-02
迅雷2011.10.21笔试题08-10
Google的招聘怪招07-31
阿里巴巴非技术类笔经及试题08-13
交通银行2014笔试题题目分享08-10
Adobe公司笔试题08-10
攀枝花移动笔试题,笔经分享08-10
关于交行网申的面试预选阶段08-08