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

哎,笔试的人真多。今年找工作的人好多啊

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)的算法



zz from http://blog.csdn.net/randyjiawenjie/article/details/6867884

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值