ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:121.22KB ,
资源ID:11713829      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11713829.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构与算法分析六套期末复习题含答案.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构与算法分析六套期末复习题含答案.docx

1、数据结构与算法分析六套期末复习题含答案试题一一、单项选择题(每小题 2 分,共20分)(1)以下数据结构中哪一个是线性结构?()A)有向图 B)队列 C)线索二叉树 D)B树(2)在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点,则执行如下()语句序列。A)p=q; p-next=q; B)p-next=q; q-next=p;C)p-next=q-next; p=q; D)q-next=p-next; p-next=q;(3)()不是队列的基本运算。A)在队列第i个元素之后插入一个元素 B)从队头删除一个元素C)判断一个队列是否为空 D)读取队头元素的值(4)字符A

2、、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成()个不同的字符串。A)14 B)5 C)6 D)8(5)由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为()。A)11 B)35 C)19 D)53以下6-8题基于下图:(6)该二叉树结点的前序遍历的序列为()。A)E、G、F、A、C、D、B B)E、A、G、C、F、B、DC)E、A、C、B、D、G、F D)E、G、A、C、D、F、B(7)该二叉树结点的中序遍历的序列为()。A)A、B、C、D、E、G、F B)E、A、G、C、F、B、DC)E、A、C、B、D、G、F D)B、D、C、A、F、G、E (8

3、)该二叉树的按层遍历的序列为()。A)E、G、F、A、C、D、B B)E、A、C、B、D、G、FC)E、A、G、C、F、B、D D)E、G、A、C、D、F、B(9)下面关于图的存储的叙述中正确的是()。A)用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关B)用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关C)用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关D)用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关(10)设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?()A)a

4、,g,h,m,n,p,q,x,z B)a,g,m,h,q,n,p,x,z C)g,m,q,a,n,p,x,h,z D)h,g,m,p,a,n,q,x,z二、(本题8分)对于序列8,18,6,16,29,28,试写出堆顶元素最小的初始堆。三、(本题8分)一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来。试求出空格处的内容,并画出该二叉树。先序序列: B F ICEH G中序序列: D KFIA EJC 后序序列: K FBHJ G A四、(每小题2分,共8分)设有序列:w=23,24,27,80,28,试给出:(1)二叉排序树;(2)哈夫曼树;(3)平衡二叉树;(4)对于增量d=

5、2按降序执行一遍希尔排序的结果。五、(本题15分)假设二叉树中每个结点所含数据元素均为单字母,以二叉链表为存储结构,试编写算法按如下图所示的树状显示二叉树。【答案】=一、单项选择题(1)B (2)D (3)A (4)B (5)B(6)C (7)A (8)C (9)B (10)B二、(本题8分)所构造的堆如下图所示:三、(本题8分)在先序序列空格中依次填ADKJ,中序中依次填BHG,后序中依次填DIEC。四、(每小题2分,共8分)(1)二叉排序树如下图所示:(2)哈夫曼树如下图所示:(3)平衡二叉树如下图所示:(4)对于增量d=2按降序执行一遍希尔排序的结果:28,80,27,24,23五、(本

6、题15分)从上图来看,二叉树的第一层显示在第一列,第二层显示在第二列,第三层显示在第三列;每行显示一个结点,从上至下是先显示右子树,再显示根,最后最左子树,也就是以先遍历右子树,最后遍历左子树的中序遍历次序显示各结点。C语言版测试程序见exam110c,具体算当如下:void DisplayBTWithTreeShape(BiTree T,int level=1)/ 按树状形式显示二叉树,level为层次数,可设根结点的层次数为1 if(T) /空树不显式,只显式非空树 DisplayBTWithTreeShape(T-rchild,level+1); /显示右子树 coutendl; /显示

7、新行 for(int i=0;ilevel-1;i+) cout ; /确保在第level列显示结点 coutdata; /显示结点 DisplayBTWithTreeShape(T-lchild,level+1); /显示左子树 =试题二一、单项选择题(每小题 2 分,共20分)(1)设Huffman树的叶子结点数为m,则结点总数为()。A)2m B)2m-1C)2m+1 D)m+1(2)若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储()个元素。A)n B)n-1 C)n+1 D)不确定(3)下述哪一条是顺序存储方式的优点?()A)存储密度大 B)插入和删除运算方便

8、C)获取符合某种条件的元素方便 D)查找运算速度快(4)设有一个二维数组Amn,假设A00存放位置在600(10),A33存放位置在678(10),每个元素占一个空间,问A23(10)存放在什么位置?(脚注(10)表示用10进制表示,m3)()。A)658 B)648 C)633 D)653(5)下列关于二叉树遍历的叙述中,正确的是()。A)若一个叶子是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序遍历最后一个结点B)若一个结点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点C)若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序最后一个结点

9、D)若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点(6)k层二叉树的结点总数最多为()。A)2k-1 B)2k+1 C)K-1 D)k-1(7)对线性表进行二分法查找,其前提条件是()。A)线性表以链接方式存储,并且按关键码值排好序 B)线性表以顺序方式存储,并且按关键码值的检索频率排好序C)线性表以顺序方式存储,并且按关键码值排好序D)线性表以链接方式存储,并且按关键码值的检索频率排好序(8)对n个记录进行堆排序,所需要的辅助存储空间为()。A)O(1og2n) B)O(n) C)O(1) D)O(n2)(9)对于线性表(7,34,77,25,64,49,20

10、,14)进行散列存储时,若选用H(K)=K%7作为散列函数,则散列地址为0的元素有()个。A)1 B)2 C)3 D)4(10)下列关于数据结构的叙述中,正确的是()。A)数组是不同类型值的集合 B)递归算法的程序结构比迭代算法的程序结构更为精炼C)树是一种线性结构D)用一维数组存储一棵完全二叉树是有效的存储方法二、(本题8分)假定一棵二叉树广义表表示为a(b(c),d(e,f),分别写出对它进行先序、中序、后序、按层遍历的结果。三、(本题8分)树有哪些遍历方法?它们分别对应于把树转变为二叉树的哪些遍历方法?四、(本题8分)设有数组A-1:3,0:6,-2:3,按行为主序存放在2000开始的连

11、续空间中,如元素的长度是5,试计算出A1,1,1的存储位置。五、(本题8分)设有一个输入数据的序列是 46, 25, 78, 62, 12, 80 , 试画出从空树起,逐个输入各个数据而生成的二叉搜索树。六、(本题15分)以二叉链表作存储结构,试编写计算二叉树中叶子结点数目的递归算法。【答案】=一、单项选择题(每小题 2 分,共20分)(1)B (2)B (3)A (4)D (5)A (6)A (7)C (8)C (9)D (10)D二、(本题8分)先序: a,b,c,d,e,f 中序: c,b,a,e,d,f 后序: c,b,e,f,d,a 按层: a,b,d,c,e,f 遍历序列为:abe

12、dc。三、(本题8分)树的遍历方法有先根序遍历和后根序遍历,它们分别对应于把树转变为二叉树后的先序遍历与中序遍历方法。四、(本题8分)A1,1,1的存储位置=2000+(1-(-1)*(6-0+1)*(3-(-2)+1)+(1-0)*(3-(-2)+1)+(1-(-2)*5=2465。五、(本题8分)六、(本题15分)本题只要在遍历二叉树的过程序中对叶子结点进行记数即可。C语言版测试程序见exam210c,具体算当如下:long LeafCount(BiTree T)/ 计算二叉树中叶子结点数目 if(T=NULL) return 0; /空树返回0 else if(T-lchild=NULL

13、&T-rchild=NULL) return 1; /只有一个结点的树返回1 else /叶子结点数为左右子树的叶子结点数之和 return LeafCount(T-lchild)+LeafCount(T-rchild); 试题三一、单项选择题(每小题 2 分,共20分)(1)对一个算法的评价,不包括如下()方面的内容。A)健壮性和可读性 B)并行性 C)正确性 D)时空复杂度(2)在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行()。A)p-next=HL-next; HL-next=p B)p-next=HL; HL=pC)p-next=HL; p=HL D)HL=p

14、; p-next=HL(3)对线性表,在下列哪种情况下应当采用链表表示?()A)经常需要随机地存取元素 B)经常需要进行插入和删除操作C)表中元素需要占据一片连续的存储空间 D)表中元素的个数不变(4)一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是()。A)2 3 1 B)3 2 1 C)3 1 2 D)1 2 3(5)每一趟都能选出一个元素放在其最终位置上,并且不稳定的排序算法是()。A)冒泡排序 B)简单选择排序C)希尔排序 D)直接插入排序(6)采用开放定址法处理散列表的冲突时,其平均查找长度()。A)低于链接法处理冲突 B)高于链接法处理冲突C)与链接法处理冲突相同

15、 D)高于二分查找(7)若需要利用形参直接访问实参时,应将形参变量说明为()参数。A)值 B)函数 C)指针 D)引用(8)在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。A)行号 B)列号 C)元素值 D)非零元素个数(9)快速排序在最坏情况下的时间复杂度为()。A)O(log2n) B)O(nlog2n) C)O(n) D)O(n2)(10)从二叉搜索树中查找一个元素时,其时间复杂度大致为()。A)O(n) B)O(1) C)O(log2n) D)O(n2)二、(本题8分)如果在1000000个记录中找出两个最小的记录,你认为采用什么样的排序方法所需的关键字比较次

16、数最少?最多比较多少次?三、(本题8分)假设把n个元素的序列(a1,a2,an)满足条件akaj(ilchild); /左子树的深度 d_rsub=BiTreeDepth(T-rchild); /右子树的深度 /返回左右子树的深度最大值加1 return (d_lsubd_rsub)?d_lsub:d_rsub)+1; 试题四一、单项选择题(每小题 2 分,共20分)(1)以下数据结构中哪一个是线性结构?()A)有向图 B)栈 C)二叉树 D)B树(2)若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用()存储方式最节省时间。A)单链表 B)双链表 C)带头结点的双

17、循环链表 D)单循环链表(3)()不是队列的基本运算。A)在队列第i个元素之后插入一个元素 B)从队头删除一个元素C)判断一个队列是否为空 D)读取队头元素的值(4)字符A、B、C、D依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成()个不同的字符串?A)15 B)14 C)16 D)21(5)由权值分别为4,7,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为()。A)11 B)37 C)19 D)53以下6-8题基于下面的叙述:若某二叉树结点的中序遍历的序列为A、B、C、D、E、F、G,后序遍历的序列为B、D、C、A、F、G、E。(6)则该二叉树结点的前序遍历的序列为()。A

18、)E、G、F、A、C、D、B B)E、A、G、C、F、B、DC)E、A、C、B、D、G、F D)E、G、A、C、D、F、B(7)该二叉树有()个叶子。A)3 B)2 C)5 D)4(8)该二叉树的按层遍历的序列为()。A)E、G、F、A、C、D、B B)E、A、C、B、D、G、FC)E、A、G、C、F、B、D D)E、G、A、C、D、F、B(9)下面的二叉树中,(C)不是完全二叉树。(10)设有关键码序列(q,g,m,z,a),()序列是从上述序列出发建的小根堆的结果。A)a,g ,m,q,z B)a,g,m,z,q C)g,m,q,a,z D)g, m, a,q,z二、(本题8分)设有一个输

19、入数据的序列是 46, 25, 78, 62, 12, 80 ,试画出从空树起,逐个输入各个数据而生成的二叉排序树。三、(本题8分)给定一个关键字序列24,19,32,43,38,6,13,22,请写出快速排序第一趟的结果;堆排序时所建的初始堆;然后回答上述两种排序方法中哪一种方法使用的辅助空间最小,在最坏情况下哪种方法的时间复杂度最差?四、(本题8分)设二维数组A0:10,-5:0,按行优先顺序存储,每个元素占4个单元,A0-5的存储地址为1000,则A9-2的存储地址为多少?五、(本题8分)用一维数组存放的一棵完全二叉树:ABCDEFGHIJKL。请写出后序遍历该二叉树的访问结点序列。六、

20、(本题8分)请说明对一棵二叉树进行前序、中序和后序遍历,其叶结点的相对次序是否会发生改变?为什么?七、(本题9分)已知一棵二叉树的先序序列与中序序列分别如下,试画出此二叉树。先序序列:ABCDEFGHIJ中序序列:CBEDAGHFJI八、(本题15分)已知二叉排序树采用二叉链表存储结构,根结点的指针为T,请写出递归算法,从小到大输出该二叉排序树中所有关键字值K的结点的关键字的值。【答案】=一、单项选择题(每小题 2 分,共20分)(1)B (2)C (3)A (4)B (5)B (6)C (7)A (8)C (9)C (10)B二、(本题8分)如下图所示:三、(本题8分)快速排序的第一趟结果为

21、22,19,13,6,24,38,43,12;堆排序时所建立的初始大顶堆如所图所示:两种排序方法所需辅助空间:堆是O(1),快速排序是O(logn),可见堆排序所需辅助空间较少;在最坏情况下两种排序方法所需时间:堆是O(nlogn),快速排序是O(n2),所以,可见快速排序时间复杂度最差。注意:快速排序的平均时排序速度最快,但在最坏情况下不一定比其他排序方法快。四、(本题8分)依题意A的起始地址为1000,则有:Loc(9,-2)=1000+(9-0)*(0-(-5)+1)+(-2-(-5)*4=1228。五、(本题8分)先画出该二叉树的树形结构。对其进行后序遍历得到后序序列为:HIDJKEB

22、LFGCA。六、(本题8分)二叉树任两个中叶结点必在某结点的左/右子树中,三种遍历方法对左右子树的遍历都是按左子树在前、右子树在后的顺序进行遍历的。所以在三种遍历序列中叶结点的相对次序是不会发生改变的。七、(本题9分)先由先序序列的第一个结点确定二叉树的根结点,再由根结点在中序序列中左侧部分为左子树结点,在右侧部分为右子树结点,再由先序序列的第一个结点确定根结点的左右孩子结点,由类似的方法可确定其他结点,如下图所示。八、(本题15分)由于二叉排序树是中序有序的,因此对二叉排序树采用中序遍历依次输出大于等于K的结点即可。C语言版测试程序见exam410c,具体算当如下:void DisplayK

23、ey(BiTree T,KeyType K)/ 从小到大输出该二叉排序树中所有关键字值K的结点的关键字的值 if(T) DisplayKey(T-lchild,K); /输出左子树 if(T-data.key=K) coutdata.keyrchild,K); /输出右子树 试题五一、单项选择题(每小题 2 分,共20分)(1)队列的特点是()。A)先进后出 B)先进先出 C)任意位置进出 D)前面都不正确(2)有n个记录的文件,如关键字位数为d,基数为r,则基数排序共要进行()遍分配与收集。A)n B)d C)r D)n - d (3)在二叉树结点的先序序列、中序序列和后序序列中,所有叶子结

24、点的先后顺序()。A)都不相同 B)完全相同C)先序和中序相同,而与后序不同 D)中序和后序相同,而与先序不同(4)限定在一端加入和删除元素的线性表称为()。A)双向链表 B)单向链表 C)栈 D)队列(5)快速排序执行一遍之后,已经到位的元素个数是()。A)1 B)3 C) D)(6)设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树上的结点个数为n,森林F中第一棵树的结点个数是()。A)m-n-1 B)n+1 C)m-n+1 D)m-n(7)设有198个初始归并段,如采用K-路平衡归并三遍完成排序,则K值最大为()。A)12 B)13 C)14 D)15(8)下面关于广义表的叙述中,不正确的是()。A)广义表可以是一个多层次的结构 B)广义表至少有一个元素C)广义表可以被其他广义表所共享 D)广义表可以是一个递归表(9)设二叉树根结点的层次为0,一棵深度(高度)为k的满二叉树和同样深度完全二叉树各有f个结点和c个结点,下列关系式不正确的是()

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1