




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档厦门大学数据结构课程期末试卷信息科学与技术学院计算机科学系2009年级专业主考教师:陈怡疆 庄朝晖 试卷类型:(A卷)一、(本题10分)(1)线性表和广义表的主要区别是什么?(2)已知广义表: C=(a,(b, (a,b), (a,b), (a,b), 则tail(head(tail(C) =?答案:(1)线性表和广义表都是元素a1,a2,an组成的序列,其主要区别点在于:在线性表中,ai是单个元素(原子);在广义表中,ai可以是单个元素(原子),也可以是广义表。(7分)(2)tail(head(tail(C) = (a,b)(3分)二、(本题10分)简述二叉树的两种存储结构(顺序存储和链式存储)的数据结构及主要优缺点。在哈夫曼树中,使用哪种存储结构,并说明理由。答案:顺序存储结构:typedef SqBiTreeMax_Tree_Size; 特点:使用数组存储二叉树上的结点元素,按照对应的完全二叉树的编号来存储二叉树。优点是适用于完全二叉树,访问方便。缺点是对于一般二叉树,较大地浪费了空间。(4分)链式存储结构:typedef strut BiTNode TElemType data; struct BiTNode *lchild, *rchild;BiTNode, *BiTree;特点:使用结构体来表示结点元素,使用指针来指向结点的左右孩子。优点是插入与删除方便,节省空间,缺点是不能快速地随机访问结点元素。(4分)在哈夫曼树中,使用静态三叉链表,这样可以方便地从根走到叶子,也可以从叶子走到根,而且可以随机访问和节省空间。(2分)三、(本题10分)一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来,试求出空格处的内容,并画出该二叉树。先序序列:_B_F_ICEH_G;中序序列:D_KFIA_EJC_ ;后序序列:_K_FBHJ_G_A。答案:先序序列:A B D F K I C E H J G中序序列:D B K F I A H E J C G后序序列:D K I F B H J E G C A (11分)画出树得4分。ABCDEHJFGKI四、(本题10分) 分别使用普里姆算法和克鲁斯卡尔算法求出图G1的最小生成树,仅需画出最小生成树的成长过程即可。图G10123451452566637 答案:(1)普里姆算法求最小生成树的过程如下:5分012345101234513012345143012345145301234514523(2)克鲁斯卡尔算法如下:5分012345101234512012345123012345142301234514523五、(本题10分)有向图G2如上所示,(1)请写出图G2所有可能的拓扑序列: (2)请写出以顶点B为起始点的深度优先遍历序列和广度优先遍历序列,并画出对应的生成树。遍历过程中当有多种选择时,编号小的结点优先。图G2ABCDE答案:(1)BACDE、BACED、BCADE、BCAED (5分,少一个扣一分) (2)深度优先遍历序列:BADEC (3分) 广度优先遍历序列:BACDE (3分)六、(本题15分)已知键值序列为45,56,83,31,72,35,14,47,89,19,要求给出:(1)按键值排列次序构造一棵二叉排序树。(2)在等概率的情况下,求出该二叉排序树查找成功的平均查找长度。(3)针对上述10个键值,在不同的排列次序下所构造出的不同形态的二叉排序树中,在最坏和最好情况下,二叉排序树的高度各是多少?答案: (1)455315614354783197289(2)在等概率情况下,该二叉排序树的平均检索长度是:ASL=(1+2*2+3*4+4*3)/10=29/10=2.9(3)对于上述10个键值,在最坏情况下,每个结点(除了叶子结点)只有右孩子(或者只有左孩子),高度为10。在最好情况下,高度为log210+1=4。七、(本题15分)设关键字序列为:49,38,66,80,70,15,22,欲对该序列进行从小到大排序。(1)用直接插入排序法进行排序,写出每趟的结果。(2)采用待排序列的第一个关键字作为枢轴,写出快速排序法的一趟和二趟排序之后的状态。 (3)画出待排序列的初始化堆。答案: 直接插入排序法原始关键字序列为:(49) 38 66 80 70 15 22 (38 49) 66 80 70 15 22 (38 49 66) 80 70 15 22 (38 49 66 80) 70 15 22 (38 49 66 70 80) 15 22 (38 49 66 70 80) 15 22 (15 38 49 66 70 80) 22 (15 22 38 49 66 70 80) 快速排序法原始关键字序列为:49,38,66,80,70,15,22第一趟排序后 22 38 15 (49) 70 80 66第二趟排序后 15 (22) 38 66 (70) 80 该堆是最大堆,具体如下:80706638491522八、(本题10分)假设一棵树的存储结构采用双亲表示法,双亲数组为int parentMaxSize,其中MaxSize为最大结点个数。树中各结点按先根遍历的次序存放,根结点存于parent0。试编写一个函数,计算下标p所指结点和下标q所指结点的最近公共祖先结点。参考答案:int CommonAncestry(int parent, int MaxSize, int p, int q)int i,j;for (i=p; i!=-1;i=parenti)for (j=q; j!=-1; j=parentj)if (i=j) return I;九、(本题10分)1,2,n这n个数,无序地保存在数组c1.n中。请编写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高三古代诗歌鉴赏课件
- 地下行包房及预埋直径线施工测量与施工监测方案
- 浙江环保:实施环保设备制造股权投资与市场拓展合同
- 物业服务合同延期及设施设备更新补充协议范本
- 离婚房产分割与财产清算及子女抚养协议
- 离异后无抚养费支付及子女监护权共享协议
- 上市公司再融资合同续签与信息披露协议
- 离婚法律咨询与协议修订及子女抚养权调整合同
- 私下股权转让与目标公司业务整合协议
- 严格规范:二人合资开设宠物店的详细合同
- 《中国尖锐湿疣临床诊疗指南(2021版)》解读
- 租金费用收取管理制度
- 建筑垃圾处理技术标准(CJJT 134-2019)
- 五年级美术素养测评模拟测试
- 木工课堂安全管理制度
- 【《基于Matlab的电力系统电压稳定L指标计算与灵敏度分析》18000字】
- 小班语言活动《笑嘻嘻》
- 《AIGC应用实战:写作、绘图、视频制作、直播》-课件 第七章 即梦的使用方法;第八章 AI直播
- NHSS系列钢丝绳手扳葫芦
- 运动康复项目介绍
- 2025中国地中海贫血祛铁治疗指南解读
评论
0/150
提交评论