明天去参加百度笔试

这是10月13号百度在武汉的笔试题,眼看着明天就要去参加笔试浏了,但是看着这些题目,心理一点低都没有,寻找答案中……

一、简答题
1. 简述树的深度优先遍历及广度优先遍历及其非递归实现的特点;
2. 找出以下程序中的bug:
--->VC6.0可能对标准支持不好,推荐使用更高版本的VC,GCC,DEVC++ <---
#include <stdio.h>      
#include <stdlib.h>          --->#include <new>       
                             --->using std::bad_alloc;
struct Record{
int a;
int b;
};
int create(Record *p,int num)--->int create(Record **p,int num)
{
p = new Record[num];         --->if(0==num) return -1;//0会分配1个空间
                             --->try{
if (!p)                      --->     *p = new Record[num]; }
return -1;                   --->catch(bad_alloc &e){
else                         --->     return -1; }
return 0;                    --->return 0;
}
int Test()
{
struct Record *p = NULL;
int i;
int num;
printf("0x%08x\n", p);
                                   --->printf("Input record num:");
scanf("Input record num:%d", &num);--->scanf("%d", &num);
if (create(p, num) < 0)            --->if (create(&p, num) < 0)
return -1;
printf("0x%08x\n", p);
for (i = 0; i < num; i++) {
p[i].a = 0;
p[i].b = 0;
}
                                   --->delete []p;
return 0;
}
int main(void)
{
Test();
getchar();
return 0;
}
3. 有一台Mini计算机,内存大小为1K,CPU主频为1M(CPU状态每秒改变10的6次方次),问在这台计算机上可运行并且确定可以终止的程序的最长运行时间是多少?
给出思路及推理过程(可以做任何假设)。

二、算法设计
1. 某大型项目由n个组件N1, N2……Nn构成,每个组件都可以独立编译,但是某些组件的编译依赖于其它组件(即某些组件只能在其它组件编译完成后才能编译),设计算法给出统计过程。
2. 完成函数:
int maxnumstr(char *inputstr, char *outputstr)
函数功能:找出inputstr中的最长连续数字串存储到outputstr里并返回长度,如调用maxnumstr("123abc1234a", outputstr)后返回4且outputstr中为"1234"。

三、系统设计
URL(统一资源定位符)由site、path组成,并且有其它属性信息如访问时间等。
如:http://www.baidu.com/img/abc中site为http://www.baidu.com,path为/img/abc。

1. 设计系统存储100亿条URL信息;
2. 说明如何完成URL信息的添加、删除及修改;
3. 如何添加URL的属性信息;


你可能感兴趣的:(算法,gcc,百度,vc++)