(zhn)现在的位置Q?/strong> 跨考网频道考研报名正文

清华大学2001q硕士研I生考试数据l构试题_跨考网

最后更新时_(d)(x)2008-02-22 23:16:54
辅导评Q?a target="_blank" rel="nofollow">暑期集训 在线咨询
复习(fn)紧张Q焦头烂额?逆风轻袭Q来跨考秋季集训营Q帮你寻Ҏ(gu)Q定Ҏ(gu)Q?/span> 了解一?>

  一、试l出下列有关q查?mfsets)的操作序列的q算l果Q?/p>

  union(1,2) , union(3,4) , union(3,5) , union(1,7) , union(3,6) , union(8,9) , union(1,8) , union(3,10) , union(3,11) , union(3,12) , union(3,13) , union(14,15) , union(16,0) , union(14,16) , union(1,3) , union(1,14)?union是合q运,在以前的书中命名为merge)

  要求

  (1) 对于union(i,j)Q以i作ؓ(f)j的双Ԍ (5?

  (2) 按i和j为根的树(wi)的高度实现union(i,j)Q高度大者ؓ(f)高度者的双亲Q?(5?

  (3) 按i和j为根的树(wi)的结点个数实现union(i,j)Q结点个数大者ؓ(f)l点个数者的双亲Q?(5?

  二、设??A,B,C,D)之间架设?座桥,如图所C?

  要求从某一地出?l过每桥恰巧一?最后仍回到原地

  (1) 试就以上囑Ş说明:此问题有解的条g是什? (5?

  (2) 讑֛中的点Cؓ(f)n,试用C或Pascal描述与求解此问题有关的数据结构ƈ~写一个算?扑և满要求的一条回? (10?

  三、针对以下情늡定非递归的归q排序的q行旉(数据比较ơ数与移动次?:

  (1) 输入的n个数据全部有? (5?

  (2) 输入的n个数据全部逆向有序; (5?

  (3) 随机地输入n个数? (5?

  四、简单回{有关AVL?wi)的问?

  (1) 在有N个结点的AVL?wi)?为结点增加一个存攄炚w度的数据成员,那么每一个结炚w要增加多个字位(bit)? (5?

  (2) 若每一个结点中的高度计数器?bit,那么q样的AVL?wi)可以有多少?最有多少个关键码? (5?

  五、设一个散列表包含hashSize=13个表?.其下标从0?2,采用U性探查法解决冲突. h以下要求,下列关键码散列到表?

  10 100 32 45 58 126 3 29 200 400 0

  (1) 散列函数采用除留余数??hashSize(取余q算)各关键码映像到表中. h出每一个生冲H的关键码可能生多次冲突. (7?

  (2) 散列函数采用先将关键码各位数字折叠相? 再用%hashSize相加的l果映像到表中的办法. h出每一个生冲H的关键码可能生多次冲突. (8?

  六、设一二叉树(wi)的结点定义ؓ(f)

  struct BinTreeNode{

  ElemType data;

  BinTreeNode *leftChild, *rightChild;

  }

  现采用输入广义表表示建立二叉? 具体规定如下:

  (1) ?wi)的根结点作为由子?wi)构成的表的表名放在表的最前面;

  (2) 每个l点的左子树(wi)和右子树(wi)用逗号隔开. 若仅有右子树(wi)没有左子? 逗号不能省略.

  (3) 在整个广义表表示输入的结֊上一个特D的W号(例如??表示输入l果.

  例如,对于如右图所C的二叉? 其广义表表示为A(B(D,E(G,)),C(,F))

  A

  / \

  B C

  / \ \

  D E F

  /

  G

  此算法的基本思\?依次从保存广义表的字W串ls中输入每个字W? 若遇到的是字?假定以字母作为结点的?, 则表C是l点的? 应ؓ(f)它徏立一个新的结? q把该结点作为左子女(当k=1)或有子女(当k=2)链接到其双亲l点? 若遇到的是左括号?? 则表明子表的开?k|ؓ(f)1;若遇到的是右括号?? 则表明子表结? 若遇到的是逗号?? 则表CZ左子女ؓ(f)根的子树(wi)处理完毕,应接着处理以右子女为根的子? k|ؓ(f)2.

  在算法中使用了一个栈s, 在进入子表之?根l点指针q栈, 以便括号内的子女链接之用. 在子表处理结束时退? 相关的栈操作如下:

  MakeEmpty(s) |空?/p>

  Push(s,p) 元素pq栈

  Pop(s) q栈

  Top(s) 存取栈顶元素的函?/p>

  下面l出了徏立二叉树(wi)的算? 其中?个语句缺? 请阅L法q把~失的语句补? (每空3?

  Void CreateBinTree(BinTreeNode *&BT, char ls){

  Stacks; MakeEmpty(s);

  BT=NULL; //|二叉树(wi)

  BinTreeNode *p;

  int k;

  istream ins(ls); //把串ls定义入字W串对象ins

  Char ch;

  ins>>ch; //从ins序d一个字W?/p>

  While(ch!=??{ //逐个字符处理,直到遇到''#''为止

  Switch(ch){

  case?? _______(1)_______

  k=1;

  break;

  case?? pop(s);

  break;

  case?? _______(2)_______

  break;

  default: p=new BinTreeNode;

  _______(3)_______

  p->leftChild=NULL;

  p->rightChild=NULL;

  if(BT==NULL)

  _______(4)_______

  else if (k==1) top(s)->leftChild=p;

  else top(s)->rightChild=p;

  }

  _______(5)_______

  }

  }

  七、下面是一个用C~写的快速排序算? Z避免最坏情?取基准记录pivot采用从left,right和mid=[(left+right)/2]中取中间? q交换到right位置的办? 数组a存放待排序的一l记? 数据cd为Type, left和right是呆排序子区间的最左端点和最右端?

  Void quicksort(Type a,int left,int right){

  Type temp;

  If(leftType pivot=median3(a,left,right);

  Int I=left, j=right-1;

  For( ; ; ){

  While(iWhile(iif(itemp=a[i]; a[j]=a[i]; a[i]=temp;

  I++; j--;

  }

  else break;

  }

  if(a[i]>pivot)

  {temp=a[i]: a[i]=a[right]; a[right]=temp;}

  quicksort(a,left,i-1); //递归排序左子区间

  quicksort(a,i+1,right); //递归排序叛_区间

  }

  }

  (1) 用C或Pascal实现三者取中子E序 median3(a,left,right); (5?

  (2) 改写 quicksort 法, 不用栈消ȝ二个递归调用 quicksort(a,i+1,right); (5?

  (3) l箋改写 quicksort 法, 用栈消去剩下的递归调用. (5?

跨考考研评

班型 定向班型 开班时?/td> 高定?/td> 标准?/td> 评介绍 咨询
U季集训 冲刺?/td> 9.10-12.20 168000 24800?/td> 班面授+专业??+专业译֮向辅?协议加强评(高定?+专属规划{疑(高定?+_化答?复试资源(高定?+复试译֌(高定?+复试指导(高定?+复试班主?v1服务(高定?+复试面授密训(高定?+复试1v1(高定?
2023集训畅学 非定向(政英?数政qQ?/td> 每月20?/td> 22800?协议? 13800?/td> 先行阶在U课E?基础阶在U课E?强化阶在U课E?真题阶在U课E?冲刺阶在U课E?专业NҎ(gu)一对一评+班主dE督学服?全程规划体系+全程试体系+全程_化答?择校择专业能力定位体p?全年关键环节指导体系+初试加强?初试专属服务+复试全科标准班服?/td>

①凡本网注明“稿件来源:(x)跨考网”的所有文字、图片和韌频稿Ӟ版权均属北京学博教育咨询有限公司Q含本网和跨考网Q所有,M媒体、网站或个h未经本网协议授权不得转蝲、链接、{帖或以其他Q何方式复制、发表。已l本|协议授权的媒体、网站,在下载用时必须注明“稿件来源,跨考网”,q者本|将依法q究法律责Q?/p>

②本|未注明“稿件来源:(x)跨考网”的?囄Eg均ؓ(f)转蝲E,本网转蝲仅基于传递更多信息之目的Qƈ不意味着再通{载稿的观Ҏ(gu)证实其内容的真实性。如其他媒体、网站或个h从本|下载用,必须保留本网注明的“稿件来源”,q自负版权等法律责Q。如擅自改为“稿件来源:(x)跨考网”,本网依法追I法律责仅R?/p>

③如本网转蝲E涉?qing)版权等问题Q请作者见E后在两周内速来?sh)与跨考网联系Q电(sh)话:(x)400-883-2220