




免费预览已结束,剩余5页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
. 东 北 大 学 继 续 教 育 学 院 数据结构II 试 卷(作业考核 线上) B 卷(共 10 页) 总分题号一二三四五六七得分一、单选题(每小题2分,共10小题,20分) A 1抽象数据类型的三个组成部分分别为 A数据对象、数据关系和基本操作 B数据元素、逻辑结构和存储结构 C数据项、数据元素和数据类型 D数据元素、数据结构和数据类型 D 2下列各式中,按增长率由小至大的顺序正确排列的是 A,n!,2n ,n3/2 Bn3/2,2n,nlogn,2100 C2n,log n,nlogn,n3/2 D2100,logn, 2n, nn A 3. 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为 A. q-next=s-next;s-next=p; B. s-next=p;q-next=s-next; C. p-next=s-next;s-next=q; D. s-next=q;p-next=s-next; C 4二维数组A2010采用行优先的存储方法,若每个元素占2个存储单元,且第1个元素的首地址为200,则元素A89的存储地址为A374 B576C378 D580 B 5设有一个顺序栈的入栈序列是a、b、c,则3个元素都出栈的可能不同排列个数为 A4 B5 C. 6 D. 7 D 6. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为 A5 B6 C7 D8 C 7以下说法不正确的是 A无向图中的极大连通子图称为连通分量 B连通图的广度优先搜索中一般要采用队列来暂存刚访问过的顶点 C图的深度优先搜索中一般要采用栈来暂存刚访问过的顶点 D有向图的遍历不可采用广度优先搜索 B 8. 假设在构建散列表时,采用线性探测解决冲突。若连续插入的n个关键字都是同义词,则查找其中最后插入的关键字时,所需进行的比较次数为 A. n-1B. n C. n+lD. n+2 B 9设置溢出区的文件是 A索引非顺序文件 BISAM文件 CVSAM文件 D顺序文件 A 10. 已知一组关键字为25,48,36,72,79,82,23,40,16,35,其中每相邻两个为有序子序列。对这些子序列进行一趟两两归并的结果是A.25,36,48,72,23,40,79,82,16,35B.25,36,48,72,16,23,40,79,82,35C.25,36,48,72,16,23,35,40,79,82D.16,23,25,35,36,40,48,72,79,82二、填空题(每小题1分,共10小题,10分)11.下面程序段中带下划线的语句的执行次数的数量级是( log2n )。i=1; WHILE(inest=L-next-next;L-next-next =S)。13无表头结点的链队列Q为空的条件是(Q-real=Q-front=NULL)。14设Q0.N-1为循环队列,其头、尾指针分别为P和R,则队Q中当前所含元素个数为( (R-P+N)% N )。15一棵含999个结点的完全二叉树的深度为(10)。16在 AOV网 中,存在环意味着某项活动以自己为先决条件;对程序的数据流图来说,它表明存在( 死循环 )。17. 有向图G可拓扑排序的判别条件是( 不存在环 )。18如果结点A有 3个兄弟,而且B是A的双亲,则B的度是( 4 )。19应用回溯与分支限界法解决实际问题时,在搜索过程中利用判定函数,也称为(限界函数)。20. 若以1234作为双端队列的输入序列,则既不能由输入受限的双端队列得到,也不能由输出受限的双端队列得到的输出序列是( 4231 )。 三、应用题(每小题6分,共5小题,30分)21比较线性表和栈的基本操作的不同点。解答:主要区别是对插入和删除操作的限制。 如线性表允许在表内任一位置进行插入和删除;而队列只允许在表尾一端进行插入,在表头一端进行删除;所以也称队列为受限的线性表。表头为队列头;表尾为队列尾。 插 入 删 除 线性表 Insert(L,i,x)Delete(L,i) (1in+1) (1in) 队列 Insert(L,n+1,x) Delete(L,1)22有一个二叉树按层次顺序存放在一维数组中,如下图所示:试求:(1)该树的后序遍历序列。 (2)画出该树的后序线索树。1 2 3 4 5 6 7 8 9 10 11 ACBED解答:(1)后序遍历序列 C E D B A (2)后序线索树 ABEDC23分析顺序查找算法的“监视哨”设置作用解答:为了考虑查找不成功的情况,在每次进行关键字的比较前,首先要判断循环变量i是否数组越界,这对算法来说是必要的。如果每步省略数组下标是否越界的判断,则可以大大提高算法运行的效率。为此,可以利用预留的0号单元,作为所设的“监视哨”控制循环变量i的出界。 假设数据从后向前比较,监视哨设在数组低端 L.elem 0 = k 将算法中的判断语句 while (i next ) / 链表不空且 p = L-next; (1) while( knext; +k; / while if (p & (3)) / n!=0 时才需要修改指针 ha = L-next; / 以指针 ha 记a1结点的位置 (4)= p-next; / 将 b1 结点链接在头结点之后 p-next = NULL; / 设am的后继为空 q = L-next; / 令q 指向 b1结点 while (q-next) q = q-next; / 查找 bn 结点 q-next = ha; / (5) / if(p) / if(m) / exchange_L 解答:(1)k = 1;(2)查找第am个结点(3)p-next(4)L-next(5)将第 a1 结点链接到 bn 结点之后五、算法阅读题(本题10分)27设任意n个整数存放于数组A(1:n)中,阅读算法,指出功能及分析指针i和j的作用。void Arrange(int A,int n) / n个整数存于数组A中 int i=0,j=n-1,x; / 数组下标从0开始 while(ij) while(i0) i+; while(ij & Aj0) j-; if(iA(1:0)中第一个大于0的数,赋给数组中从A(1:0)-A(1:n)中第一个小于0的后面第一个数组;2.把数组中从A(1:0)-A(1:n)中第一个小于0的数,赋给数组中从A(1:n)-A(1:0)中第一个大于0的后面第一个数组;(2)指针i和j的作用:解答:I为计数器作用,从0开始递增1关系,递增到数组中从低到高第一个小于0截止J为计数器作用,从大数开始递减1关系,递减到数组中从高到低第一个大于0截止六、算法设计题(本题10分)28设计算法purge_Sq实现删除顺序表SqList中重复元素,指出其算法的时间复杂度。解答:void purge_Sq( SqList &L ) / 删除顺序表L中的重复元素 k = -1;/ k 指示新表的表尾 for (i=0; iL.length; +i) / 顺序考察表中每个元素 j=0; while(jk )/ k=-1 表明当前考察的是第一个元素 L.elem+k = L.elemi; / for L.length = k+1;/ 修改表长 / purge_Sq 此算法的时间复杂度为O (L.length2 )。七、算法设计题(本题10分)29设计算法从图的邻接表结构转换成邻接矩阵结构的算法。解答:#include #include #include int a100100;/邻接矩阵的载体 typedef struct ArcNode int adjvex; struct ArcNode *nextarc; ArcNode; /表结点 typedef struct VNode char data; ArcNode *firstarc; VNode,AdjList20;/头结点 typedef struct AdjList vertices; int vexnum,arcnum; ALGraph;/邻接表 int LocateVex(ALGraph G,char e) int i; for(i=0;iG.vexnum;i+) if(G.verticesi.data=e) return i;/找到后 返回i return -1; void CreatAdList(ALGraph &G) /根据输入的有向图G的顶点数及边数,建立图G的邻接表 int i,j,k; char v1,v2; ArcNode *s,*p; scanf(%d%d,&G.vexnum,&G.arcnum); getchar(); for(i=0;iG.vexnum;i+) /初始化头结点 scanf(%c,&G.verticesi.data); getchar(); G.verticesi.firstarc=NULL; for(i=0;iG.vexnum;i+)/输出一遍这些头 printf(%c ,G.verticesi.data); printf(n); for(k=0;kadjvex=j; s-nextarc=NULL; p=G.verticesi.firstarc; if(!p) G.verticesi.firstarc = s; else while(p-nextarc) p=p-nextarc; p-nextarc=s; void trans(ALGraph G) /转换函数 int i,j; ArcNode *p; for(i=0;i=G.vexnum;i+)/先初始化,全部赋值为0 for(j=0;j=G.vexnum;j+) aij=0; for(i=0;iadjvex
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三年级语文秋天的雨教学设计案例
- 投标报价函写作指导与样本
- 省级中考生物试题及解析合集
- 小学家长会总结与活动反思模板
- 远程办公团队协作优化策略
- 建设工程项目进度管理办法
- 2024年四年级英语上册 Fun Time 2 Recycle 2说课稿 人教精通版(三起)
- 2.1 曲线与方程说课稿-2025-2026学年高中数学人教A版选修2-1-人教A版2007
- (2024年秋季版)七年级道德与法治上册 2.2.1 社会交往礼为先说课稿 粤教版
- 电商合作协议模板及条款解析
- 社会责任管理手册范本
- 汽车租赁项目投标书
- 农业种植项目方案
- 我的饮料我做主(课件)四年级上册综合实践活动辽师大版
- COPD综合评分表完整
- CJ∕T 537-2019 多层钢丝缠绕改性聚乙烯耐磨复合管
- GB/T 19865-2024电玩具的安全
- 兰州大学博士英文复试模板
- 服务热线外包投标方案技术标
- 浙江省建筑工程资料表格大全A表(施工单位用表)
- 生活垃圾清运服务 投标方案(技术方案)
评论
0/150
提交评论