您的位置:首页 > 编程语言 > C语言/C++

2012人人网校园招聘杭州站C++笔试题目

2011-10-12 21:18 309 查看
哎,笔试的人真多。今年找工作的人好多啊

C++笔试题目。

1.算法的几个概念:时间复杂度,空间复杂度等等。

2.采用链地址法处理长度的时候,哈希表查找成功的平均长度与哪些因素有关?

哈希表的装填因子有关。

装填因子= 表中填入的记录数/哈希表的长度。

3.二叉树节点的计算:

  二叉树中度为1的节点有8个,度为0的节点有3个,问这颗二叉树总共有多少节点?

  对于任意一棵二叉树BT,如果度为0的结点个数为n0,度为2的结点个数为n2,则n0=n2+1。

  所以度为2的节点个数为3-1 = 2,那么总共的结点个数就是3+2+8 = 13。

  顺便复习一下完全二叉树的计算。

  完全二叉树有一个特点,就是度为1的节点数要么为1,要么为0。可以自己画出图来看看。

  问题:如果设一棵完全二叉树共有500个结点,则在该二叉树中有多少个叶子结点?

  设叶子节点数为n0,度为2的节点数为n0 - 1,又因为是完全二叉树,所以n1 = 1或者0

   n0 + n1 + n2 = 500,带入 2n0 - 1 + n1 = 500,故n1 = 1,n0 = 250, n2 = 249。

5.最小生成树的问题,节点个数计算问题。

6.在序列有序的情况下,快速排序的时间复杂度是多少?

  O(n^2)。

7.网卡完成那一层的功能?

     网卡工作在物理层和数据链路层的MAC子层。

     http://leehlom.blog.163.com/blog/static/241206962008112775913541/。
8.模板函数的使用。

   template <typename T>

   T add(T x, T y){

    return x + y;

}

 A.add(5,2)

 B.add(5.2,2.2)

 C.add<float>(5.2,2)

 D.add(5.2,2)

 D是错误的,因为编译器知道要特化哪一个了。

8.构造函数可以重载么?析构函数可以重载么?

构造不重载,怎么实现多样化?

析构怎么重载,没有参数。

10.C++静态成员和非静态成员有什么区别?

   1)静态变量是属于类的,只能用classname::来调用.而非静态是属于对象的,必须通过对象

来调用.

    2)如果在函数中声明一个静态变量的话,它存储在非函数的活动区.就是它不随函数调用的

结束而释放内存空间,所以它也具有全局变量的特点.但是和全局变量相比不同在于它只能在本

文件中使用

11.空类的大小?一个含有虚函数的类大小?为什么?

  分别是1和4。

  因为,对于空类,C++编译器会制定一个char来占据位置。

  含有虚函数的类,里面会存放一个虚函数指针vptr,指向一个虚函数表。指针在32位平台上

的大小为4个字节。

12 OSI七层模型和TCP/IP 五层模型。

      

      应用层

      表示层

      会话层                 应用层

      传输层                 传输层

      网络层               互联网络层

    数据链路层             互联接口层

      物理层                 物理层

12.编程求解走楼梯问题:

  一个人一次可以上1步,2步,3步。现在有n个阶梯(1<= n <= 100W,问有方法可以上去?



  f(1) = 1;

  f(2) = 2;

  f(3) = 4;

  n > 3,f(n) = f(n - 1) + f(n - 2) + f(n -3)

13.人人网的朋友概念:A和B是朋友,B和C是朋友,那么A和C是二度朋友。

   找出每一个人的10度朋友。要求O(n)的算法

14.推荐系统的设计
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息