武大计算机考研数据结构部分(2007考研)-A
更新时间:2024-01-29 21:59:01 阅读量: 教育文库 文档下载
数据结构部分(共75分)
一. 单项选择题(2×10分,共20分)
1. 某线性表最常用的操作是在最后一个结点之后插入一个结点或删除第一个结点,故采用 d 存储方式最节省运算时间。
A. 单链表 B.循环单链表 C. 双链表 D.仅有尾结点指针的循环单链表 2. 栈和队列的共同点是 c 。 A. 都是先进后出 B. 都是先进先出 C. 只允许在端点处插入和删除元素 D. 没有共同点
3.对于含有n个互不相同字符的串,则真子串(不包括串自身)的个数是 c 。 A. n B.n2 C.n(n+1)/2 D.n(n-1)/2
4. 在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为 2*2+1*1=5。
A. 4 B. 5 C. 6 D. 7
5. 某二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树一定是 d 。 A. 空或只有一个结点 B. 完全二叉树 C. 二叉排序树 D. 高度等于其结点数
6. 对图1所示的无向图,从顶点1开始进行深度优先遍历;可能得到顶点访问序列是 a 。
A.1 2 4 3 5 7 6 C.1 2 4 5 6 3 7
1 3
2 B.1 2 4 3 5 6 7 D.1 2 3 4 5 7 6
5 4 6 7 图1 一个无向图
7. 对于含有n个顶点的带权无向连通图,它的最小生成树是指该图中任意一个d。 A.由n-1条权值最小的边构成的子图 B.由n-l条权值之和最小的边构成的子图 C.由n条权值之和最小的边构成的连通子图
D.由n个顶点构成的边的权值之和最小的连通子图
8. 有一组数据{15,9,7,8,20,1,7,4},用堆排序的筛选方法建立的初始小根堆为 c 。 A.{1,4,8,9,20,7,15,7} C.{1,4,7,8,20,15,7,9}
B.{1,7,15,7,4,8,20,9} D.以上都不对
2 2008年攻读硕士学位研究生入学考试试题 9. 在含有27个结点的二叉排序树上,查找关键字为35的结点,则依次比较的关键字有可能是 d 。
A.28,36,18,46,35 B.18,36,28,46,35 C.46,28,18,36,35 D.46,36,18,28,35
10. 采用败者树进行k路平衡归并的外排序算法,其总的归并效率与k b 。 A.有关 B.无关
二. 问答题(共30分)
1.(5分)分析以下算法的时间复杂度(要求给出求解过程)。
void fun(int n) {
int i,s=0; while (s } } i++; s+=i; 2.(5分)设b是二叉树(采用二叉链存储结构存储)的根结点指针,给出以下算法的递归模型并说明算法的功能: int fun(BTNode *b) { if (b==NULL) return 0; else if (b->lchild!=NULL && b->rchild!=NULL) return fun(b->lchild)+fun(b->rchild)+1; else return fun(b->lchild)+fun(b->rchild); } 3.(5分)有一个长度为12的有序表R[0..11],按二分查找法对该表进行查找,在表内各元素等概率情况下查找成功所需的平均比较次数是多少?(要求给出求解过程) 4.(8分)一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来。试求出空格处的内容,并画出该二叉树。 先序序列: B F ICEH G 中序序列:D KFIA EJC 后序序列: K FBHJ G A 5.(4分)对于有n个顶点、e条边的图 (1)若是无向图,采用邻接矩阵存储,其非零的元素有多少? (2)若是有向图,采用邻接矩阵存储,其非零的元素有多少? (3)若是无向图,采用邻接表存储,其表头结点和表结点个数是多少? (3)若是有向图,采用邻接表存储,其表头结点和表结点个数是多少? 6.(3分)简要说明在执行快速排序算法时,若把栈换为队列会对最终排序结果有什 2008年攻读硕士学位研究生入学考试试题 3 么影响? 三. 算法设计题(共25分) 1. (10分)设有一个带头结点的单链表hc,设计一个算法: void split(LinkList *hc, LinkList *&ha, LinkList *&hb,ElemType x,ElemType y) 将hc拆分成两个带头结点的单链表ha和hb,其中ha的所有结点值均大于等于x且小于等于y,hb为其他结点。 2.(15分)假设一棵二叉树采用二叉链存储结构进行存储,每个结点的类型如下(每个结点值均为正整数且大小均不同): typedef struct node { int data; struct node *lchild,*rchild; /*左、右孩子结点指针*/ } BSTNode; (1)(10分)设计一个算法int isBST(BSTNode *bt),判断二叉树bt是否是一棵二叉排序树; (2)(5分)说明你的算法的正确性。 数据结构部分参考答案 一. 单项选择题(2×10分,共20分) 1.D 2.C 3.C 4.B 5.D 6.A 7.D 8.C 9.D 10.B 二. 问答题(共30分) 1. 算法中的基本操作为while语句,设while循环语句执行T(n)次,有: s=1+2+3+…+T(n) (1+T(n))*T(n) 2n?O(n) 所以算法时间复杂度为O(n)。 评分标准:只有正确结果给2分,推导过程为3分。 2. 答: 对应的递归模型如下: f(b)=0 b=NULL f(b)=f(b->lchild)+f(b->rchild)+1 若*b为双分支结点 f(b)=f(b->lchild)+f(b->rchild) 其他情况 该算法用于计算b二叉树中双分支结点的个数。 评分标准:递归模型占3分,功能占2分。 3. 构造相应的判定树如图2所示(图中结点的值对应元素的序号),第一层1个结点, 4 2008年攻读硕士学位研究生入学考试试题 第二层2个结点,第三层个4结点,第四层5个结点,则:ASL= 评分标准:只有正确结果给2分,推导过程为3分。 0~11 0~4 2 0~1 0 1 1~1 3~4 6~7 3 4 4~4 6 7 5 1*1?2*2?3*4?4*537=。 12126~11 8 9~11 10 9 11 11~11 0~4 9~9 图2 一棵判定树 4. 由这些显示部分推出二叉树如图3所示。则先序序列为:ABDFKICEHJG;中序序列为:DBKFIAHEJCG;后序序列为:DKIFBHJEGCA。 评分标准:二叉树、先序序列、中序序列和后序序列各占2分。 B D K F I H E J A C G 图3 一棵二叉树 5. 对于有n个顶点、e条边的图 (4分) (1)2e (2)e(3)n+2e (3) n+e 评分标准:每小题1分 6.在执行快速排序算法时,用栈保存每趟快速排序划分后左、右子区段的首、尾地址,其目的是为了在处理子区段未排序子序列时能够知道其范围,这样才能对该子序列进行排序(排序过程中可能产生新的左、右区段),但这与处理子序列的先后顺序没什么关系,而仅仅起存储作用。因此,用队列同样可以存储子区段的首、尾地址,即可以取代栈的作用。在执行快速排序算法时,把栈换为队列对最终排序结果不会产生任何影响。 评分标准:答没有影响的给1分,说明原因的给2分。 三. 算法设计题(共25分) 1.(10分) void split(LinkList *hc,LinkList*&ha, LinkList *&hb, ElemType x,ElemType y) { 2008年攻读硕士学位研究生入学考试试题 5 LinkList *p=hc->next,*ra,*rb; ha=hc; ra=ha; hb=( LinkList *)malloc(sizeof(LinkList)); rb=hb; while (p!=NULL) { if (p->data>=x && p->data<=y) { ra->next=p; ra=p; } else { rb->next=p; rb=p; } p=p->next; } R1->next=r2->next=NULL; } 评分标准:有多种解法,以上是采用尾插法建表,也可以从hc中删除满足条件的结点另建表等,根据情况判分。 2.解:(1) int d=0; int isBST(BSTNode *bt) { int b1,b2; if (bt==NULL) return 1; else { b1=isBST(bt->lchild); if (b1==0 || bt->data>d) return 0; d=bt->data; b2=isBST(bt->rchild); return b2; } } 评分标准:不能只判断左孩子小于根结点,右孩子大于根结点,即以堆来判断,这样扣6分,另根据算法情况适当判分。 (2)如果一棵二叉树的中序序列是一个递增的有序序列,则它是一棵二叉排序树。 6 2008年攻读硕士学位研究生入学考试试题 评分标准:若只给出二叉排序的定义给3分。
正在阅读:
工程款支付和工期延误法律法规依据分析09-29
2015年最新反假币考题11-22
2022年新年讲话贺词03-27
(PDF版)钻芯法检测混凝土强度技术规程12-15
春天的乡村作文500字07-06
让我印象深刻的一件事作文800字06-23
CPA教材精讲-企业资源分析12-22
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 考研
- 数据结构
- 武大
- 部分
- 计算机
- 2007
- 六年级语文下册期末测试卷(附听力材料)
- 新人教版七年级英语下册Unit 12 what did you do last weekend教学反思
- 螺杆膨胀动力机回收低品质余热发电工程项目可行性研究报告
- 2018年中考考前最后一卷 化学(河南A卷)(考试版)
- 学生成绩管理系统设计与实现毕业论文
- 民事诉讼法综合训练
- 分享欧美模具行业公司邮箱
- 倡导文明礼仪 共建和谐企业 活动总结
- 论文 浅谈儿童美术教育
- 中国华电集团公司防汛管理办法
- 新闻价值比新闻道德重要
- ZD6说明书(2010) - 图文
- (电大2011年秋)基础会计形成性考核册答案 - 图文
- 财务分析复习重点
- 铸造工艺
- 广东省广州市从化市九年级化学上学期期末复习试题(3)
- 人才工作自查报告
- 社区护士 500题库(最全)
- 广东电力系统调度规程(2012年1月17日修订)
- 最新五年级下册英语精品提升性试题(4)