网易校园招聘面试笔试题

  1、假设进栈次序是e1, e2, e3, e4,那可能的出栈次序是()

  A、e2, e4, e3, e1

  B、e2, e3, e4, e1

  C、e3, e2, e4, e1

  D、e1, e2, e4, e3

  给定入栈顺序,求出可能的出栈顺序。(点评:老得掉渣得题目了,只要小心点都没有问题)

  2、表达式X=A+B*(C-D)/E的后缀表示形式可以是()

  A、XAB+CDE/-*=

  B、XA+BC-DE/*=

  C、XABCD-*E/+=

  D、XABCDE+*/=

  分析:XABCD-*E/+=

  3.四叉树中包含地空指针数量有多少?假设每个节点含有四个指向其孩子的指针,那么给定n个节点,其4n个指针有多少指向空?(比较简单的题目,n个节点使用了的指针有n-1,所以最后的答案位4n-(n-1)=3n+1)

  分析:或者举例说明也行。。

  4.那个排序算法是非稳定的?选择,冒泡、希尔,堆排序,快速等 (也是比较基础的题目)

  A、冒泡排序 B、归并排序 C、快速排序 D、堆排序 E、希尔排序

  分析:凡是O(n^2)的全部是稳定排序,O(nlogn)的全部是非稳定排序。。

  5.根据函数,赋予参数值,写输出。。请问func(0x7f530829)的返回值是()

  int func(unsigned int i)

  {

  unsigned int temp = i;

  temp = (temp & 0x55555555) + ((temp & 0xaaaaaaaa)>>1);

  temp = (temp & 0x33333333) + ((temp & 0xcccccccc)>>2);

  temp = (temp & 0x0f0f0f0f) + ((temp & 0xf0f0f0f0)>>4);

  temp = (temp & 0xff00ff) + ((temp & 0xff00ff00)>>8);

  temp = (temp & 0xffff) + ((temp & 0xffff0000)>>16);

  return temp;

  }

  A、15 B、16 C、17 D、18

  分析:函数实现的是求二进制表示的时候,1的个数,一共15个

  最开始把每一个位看做一个节点,相邻节点值相加,结果用两个位表示。。。

  然后每两个位看做一个节点,相邻节点值相加,结果用四个位表示。。。

  以此类推,直到只剩下一个节点。。。

  

本文已影响6827
上一篇:学生会部门面试问题 下一篇:Java企业招聘面试考试题

相关文章推荐

|||||