武大计算机考研数据结构部分(2007考研)-A
更新时间:2024-04-12 18:48: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分。
正在阅读:
临时用电考试试题(闭卷)01-04
2018年最新3月入党积极分子思想汇报:党校学习心得02-28
《平移变换》教学设计-0210-09
PEP小学英语五年级上册1至6单元测试题05-16
13个病种中医护理方案04-25
关于建立‘五老’网吧义务监督员队伍的03-06
小升初数学总复习资料12-24
一级文法解析:べくして早该……,应该……02-12
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 考研
- 数据结构
- 武大
- 部分
- 计算机
- 2007
- 初二数学第二讲方程(组)与不等式(教案)
- 线性代数1-5章习题
- 新人教版三年级上册第七单元《长方形和正方形》单元教材分析
- 河南省郑州市2017-2018学年八年级英语上学期第一次月考试题 人教
- 2011-2015中国LED蓝宝石单晶棒行业投资分析预测报告
- hprose-csharp(C#)版说明文档
- 法律法规经济与施工-处罚
- 国家中药材流通追溯体系建设规范
- 地方依恋
- 过程控制系统课程设计题目
- 百万公众网络测试满分
- 人教版初中历史九年级上册 - 第1单元 - 人类文明的开端 - 选择题
- 铸造工艺
- 小学四年级数学下册应用题解决问题题型分类
- 文言文宾语前置攻略
- 数字时钟实验报告
- 加强青年干部培养,筑牢人才发展高地(定稿)
- 房地产销售实战技巧培训
- 以任务驱动为导向的国际贸易课程教学设计
- 2015年龙图教育法律硕士全真模拟