【考研类试卷】计算机专业基础综合数据结构(集合)历年真题试卷汇编6及答案解析.doc
《【考研类试卷】计算机专业基础综合数据结构(集合)历年真题试卷汇编6及答案解析.doc》由会员分享,可在线阅读,更多相关《【考研类试卷】计算机专业基础综合数据结构(集合)历年真题试卷汇编6及答案解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、计算机专业基础综合数据结构(集合)历年真题试卷汇编 6及答案解析(总分:58.00,做题时间:90 分钟)一、填空题(总题数:7,分数:14.00)1.已知 N元整型数组 a存放 N个学生的成绩,已按由大到小排序,以下算法是用对分(折半)查找方法统计成绩大于或等于 x分的学生人数,请填空使之完善。#define N*学生人数*intuprx(int aN,int x) *函数返回大于等于 x分的学生人数* int head=1,mid,rear=N; domid=(head+rear)2; if(x=aj)i+; if(i_3.下列算法是利用折半查找算法在一个有序表中插入一个元素 X,并保持表
2、的有序性。请将程序中空白处填上适当的语句完成功能。 int bininsert(sqlist r,int x,int n)将 x插入到 r1-n中并保持其有序性 int low:1,high=13,mid,flag=l,pos,i; 插入的位置为 pos while( (1) size:int; lchild, rchild, parent8: tree;END;一个结点 x的 size域的值是以该结点为根的子树中结点的总数(包括 x本身)。例如,下图中 x所指结点的 size值为 4。设树高为 h,试写一时间为 O(h)的算法Rank(T:tree;x:node)返回 x所指结点在二叉排序树
3、 T的中序序列里的排序序号,即求 x结点是根为T的二叉排序树中第几个最小元素。例如,下图 x所指结点是树 T中第 11个最小元素。(提示:你可利用size值和双亲指针 parents)【中科院软件所 1997四(12 分)】【中国科学技术大学 1997 (10分)】(分数:2.00)_24.已知一棵排序二叉树是以二叉链表的形式存储的,且结点的数据场的类型为 int。现已知该二叉树的根结点的地址为 root,以及一个整数值 key。请写一个非递归的函数,给出数据场之值为 key的结点的双亲结点的地址。【上海交通大学 2005二(25 分)】(分数:2.00)_25.设二叉树结点结构为:(1eR,
4、data,bf,right)。定义二叉树结点的平衡因子 bf(T)=h L 一 h R ,写一递归算法确定二又树 tree中各结点的平衡因子 bf,同时返回二叉树 tree中非叶子结点的个数。【东南大学 2005三(10 分)】(分数:2.00)_26.假设一棵平衡二叉树的每个结点都标明了平衡因子 b,试设计一个算法,求平衡二叉树的高度。【燕山大学 2001四、3(8 分)】(分数:2.00)_计算机专业基础综合数据结构(集合)历年真题试卷汇编 6答案解析(总分:58.00,做题时间:90 分钟)一、填空题(总题数:7,分数:14.00)1.已知 N元整型数组 a存放 N个学生的成绩,已按由大
5、到小排序,以下算法是用对分(折半)查找方法统计成绩大于或等于 x分的学生人数,请填空使之完善。#define N*学生人数*intuprx(int aN,int x) *函数返回大于等于 x分的学生人数* int head=1,mid,rear=N; domid=(head+rear)2; if(x=aj)i+; if(i_正确答案:(正确答案:(1)il=k (2)i+1 (3)i 一 1 (4)il=k)解析:3.下列算法是利用折半查找算法在一个有序表中插入一个元素 X,并保持表的有序性。请将程序中空白处填上适当的语句完成功能。 int bininsert(sqlist r,int x,i
6、nt n)将 x插入到 r1-n中并保持其有序性 int low:1,high=13,mid,flag=l,pos,i; 插入的位置为 pos while( (1) elseq=p; s=p 一lchild; 被删结点有左子树 while(s 一rcchild!=null) 查左子树中最右下的结点(中序最后结点) (q=s; s=s 一rchild;) P 一key=s 一key; 结点值用其左子树最右下的结点的值代替 if(q=p)P 一ichild=s 一ichild; 被删结点左子树的根结点无右子女 else q 一rchild:s 一ichild; s 是被删结点左子树中序序列最后一个
7、结点 delete(s); else 结束,被删结点有左子树)解析:17.写出在二叉排序树中删除一个结点的算法,使删除后仍为二叉排序树。设删除结点由指针 p所指,其双亲结点由指针 f所指,并假设被删除结点是其双亲结点的右孩子。用类 Pascal(或 C)语言将上述算法写为过程形式。【南开大学 1998七(16 分)】(分数:2.00)_正确答案:(正确答案:是二叉排序树结点的删除, while(p elseq=p; s=p 一lchild; 被删结点有左子树 while(s 一rcchild!=null) 查左子树中最右下的结点(中序最后结点) (q=s; s=s 一rchild;) P 一k
8、ey=s 一key; 结点值用其左子树最右下的结点的值代替 if(q=p)P一ichild=s 一ichild; 被删结点左子树的根结点无右子女 else q 一rchild:s 一ichild; s 是被删结点左子树中序序列最后一个结点 delete(s); else 结束,被删结点有左子树)解析:18.设排序二叉树中结点的结构为下述三个域构成:data:给出结点数据的值;left:给出本结点的左儿子结点的地址;right:给出本结点的右儿子结点的地址。设 data域为正整数,该二叉树根结点地址为T。现给出一个正整数 x。请编写非递归程序,实现将 data域之值小于等于 x的结点全部删除掉。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考研 试卷 计算机专业 基础 综合 数据结构 集合 历年 汇编 答案 解析 DOC
