腾讯软件开发校园招聘笔试题和面试题答案(4)

招聘笔试题2018-11-22王新老师

  A 状态模式 B 装饰模式 C 代理模式 D 观察者模式

  二、填空题(共4题10个空,每空2分,共20 分)

  1 设有字母序列{Q,D,F,X,A,P,N,B,Y,M,C,W},请写出按二路归并方法对该序列进行一趟扫描后的结果为DQFXAPBNMYCW。

  2 关键码序列(Q,H,C,Y,Q,A,M,S,R,D,F,X),要按照关键码值递增的次序进行排序,若采用初始步长为4的Shell的排序法,则一趟扫描的结果是QACSQDFXRHMY;若采用以第一个元素为分界元素的快速排序法,则扫描一趟的结果是FHCDQAMQRSYX。

  3 二进制地址为011011110000,大小为(4)10和(16)10块的伙伴地址分别为:_________,_________。

  4 设t是给定的一棵二叉树,下面的递归程序count(t)用于求得:二叉树t中具有非空的左、右两个儿子的结点个数N2;只有非空左儿子的个数NL;只有非空右儿子的结点个数NR和叶子结点个数N0。N2,NL,NR、N0都是全局量,且在调用count(t)之前都置为0。

  [cpp] view plaincopy

  typedef struct node

  {

  int data;

  struct node *lchild,*rchild;

  }node;

  int N2,NL,NR,N0;

  void count(node *t)

  {

  if (t->lchild!=NULL)

  if (t->rchild!=NULL) N2++;

  else NL++;

  else if (t->rchild!=NULL) NR++;

  else N0++;

  if(t->lchild!=NULL) count(t->lchild);

  if(t->rchild!=NULL) count(t->rchild);

  }/* call form :if(t!=NULL) count(t);*/

相关推荐

猜你喜欢

大家正在看

换一换