收藏 分享(赏)

数据结构模拟试题(1).doc

上传人:cw6mk8 文档编号:8295595 上传时间:2019-06-19 格式:DOC 页数:9 大小:32.50KB
下载 相关 举报
数据结构模拟试题(1).doc_第1页
第1页 / 共9页
数据结构模拟试题(1).doc_第2页
第2页 / 共9页
数据结构模拟试题(1).doc_第3页
第3页 / 共9页
数据结构模拟试题(1).doc_第4页
第4页 / 共9页
数据结构模拟试题(1).doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、数据结构模拟试题(1)很多人的理想是要改变这个世界,但却很少有人愿意去改变自己。数据结构模拟试题(1)一、填空题:06 分,每题 02 分1、 从一个具有 n 个结点的单链表中搜索其值等于 x 的结点时, 在搜索成功的情况下, 需平均比较_次。 2、 根据一组记录(56,42,50,64,48)依次插入结点生成一棵 AVL 树时,当插入到值为_的结点时需要进行旋转调整。 3、 根据一组记录(56,74,63,64,48)依次插入结点生成一棵 AVL 树时,当插入到值为 63 的结点时需要进行_调整。单选题:10 分,每题 02 分4、 某算法的时间代价为 T(n)=100n+10nlog2n+

2、n2+10,其时间复杂度为( ) 。A:O(n) B:O(nlog2n) C:O(n2) D:O(1) 5、从一个长度为 n 的顺序表中顺序搜索一个值为 x 的元素时,在等概率的情况下,搜索成功时的平均比较次数为( ) 。 A:n B:n/2 C:(n+1)/2 D:(n-1)/2 6、在一个长度为 n 的顺序表中删除第 i 个元素(0in-1)时,需要从前向后依次前移( )个元素。 A:n-I B:n-I+1 C:n-i-1 D:I 7、 不带头结点的单链表 first 为空的判定条件是( )。 A:first = NULL; B:first-link = NULL; C:first-lin

3、k = first; D:D. first != NULL; 8、 树中所有结点的度之和等于所有结点数加( )。 A:0 B:1 C:1 D:2 9、 一棵具有 35 个结点的完全二叉树的高度为( )。假定空树的高度为 -1。 A:5 B:6 C:7 D:8 10、 对于具有 e 条边的无向图,它的邻接表中有 ( ) 个边结点。A:e-1 B:e C:2(e-1) D:2e 11、 图的深度优先搜索类似于树的( )次序遍历。 A:先根 B:中根 C:后根 D:层次 12、 设有向图有 n 个顶点和 e 条边,采用邻接表作为其存储表示,在进行拓扑排序时,总的计算时间为( ) 。 A:O(nlog

4、2e) B:O(n+e) C:O(ne) D:O(n2) 13、 在下列排序算法中,( )算法使用的附加空间与输入序列的长度及初始排列无关。 A:锦标赛排序 B:快速排序 C:基数排序 D:归并排序 二、判断题:10 分,每题 01 分 14、 数组是一种静态的存储空间分配,就是说,在程序设计时必须预先定义数组的数据类型和存储空间大小,由编译程序在编译时进行分配。 15、 在顺序表中,逻辑上相邻的元素在物理位置上不一定相邻。 16、 每次从队列中取出的是具有最高优先权的元素, 这种队列就是优先级队列。 17、 若让元素 1,2,3 依次进栈,则出栈次序 1,3,2 是不可能出现的情况。 18、

5、 递归的算法简单、易懂、容易编写,而且执行效率也高。 19、 用非递归方法实现递归算法时一定要使用递归工作栈。 20、 一个广义表的表头总是一个广义表。 21、 对用顶点表示活动的网络(AOV 网)进行拓扑排序必然得到唯一的结果。 22、 堆排序是一种稳定的排序算法。 23、 在散列法中采取开散列(链地址)法来解决冲突时, 其装载因子的取值一定在(0,1)之间。 三、中型计算题:10 分,每题 10 分 24、 设有一个 nn 的对称矩阵 A,将其上三角部分按列压缩存放于一个一维数组 B 中:B=A00, A01, A11, A02, A12, A22, , A0 n-1, A1 n-1, A

6、2 n-1, , An-1 n-1同时有两个函数:max(i,j)和 min(i,j),分别计算下标 i 和 j 中的大者与小者。试利用它们给出求任意一个 Aij在 B 中存放位置的公式。 (若式中没有 max(i,j)和 min(i, j) 则不给分)参考答案:max(i,j)*(max(i,j)+1)/2+min(i,j)25、 设有一个三维数组 A102015,按页/行/列存放于一个连续的存储空间中,每个数组元素占 4 个存储字,首元素 A000的存储地址是 1000,求 A8410的地址。 参考答案:10880答案解释:对于三维数组,若第一、第二、第三维的元素个数为 m1、m2、m3,

7、每个元素所占存储字数为 d,首地址为 LOC(0,0,0),则对于任一数组元素 Aijk,它的存储地址为LOC(i,j,k)=LOC(0,0,0)+(i*m2*m3+j*m3+k)*d根据题意,m1=10, m2=20, m3=15, d=4, LOC(0,0,0)=1000,则有LOC(8,4,10)=LOC(0,0,0)+(8*20*15+4*15+10)*4=1000+2470*4=1088026、 下图是一个 3 阶 B 树,试给出依次插入 65 和 15 之后 B 树的单关键码结点数和双关键码结点数。单关键码结点数:双关键码结点数:参考答案:单关键码结点数:9 双关键码结点数:2 四

8、、小型计算题:40 分,每题 08 分27、 设有一个二维数组 A1020,按列存放于一个连续的存储空间中,A00的存储地址是 200,每个数组元素占 1 个存储字,则A62的地址是多少。 参考答案:226答案说明:按列存储时,计算 Aij地址的公式为LOC(i,j)=LOC(0,0)+(j*m+i)*d其中首地址 LOC(0,0)=200, 每个数组元素的存储占用数 d=1, 二维数组的行数 m=10,则数组元素 A62的存储地址为LOC(6,2)=200+(2*10+6)*1=22628、 设有一个 1010 的对称矩阵 A,将其上三角部分按行存放在一个一维数组 B 中,A00存放于 B0

9、中,那么 A85存放于 B中什么位置。 参考答案:43答案说明:很多人的理想是要改变这个世界,但却很少有人愿意去改变自己。根据题意,矩阵 A 中当元素下标 I 与 J 满足 IJ 时,任意元素 AIJ在一维数组 B 中的存放位置为(2*nI1)*I/2+J但当 IJ 时,需要计算其对称元素 AJI在 B 中的存放位置(2*nJ1)*J/2+I因此,A85在数组 B 中对称元素 AJI的位置为(2*1051)*5/2+8=4329、 已知一个有序表(15,26,34,39,45,56,58,63,74,76,83,94)顺序存储于一维数组 a12中,根据折半搜索过程填写成功搜索下表中所给元素 3

10、4, 56, 58, 63, 94 时的比较次数。参考答案:元素 34 56 58 63 94比较次数 2 1 3 4 4 30、 已知一棵二叉搜索树的广义表表示为:28(12(,16),49(34(30),72(63),求出从中依次删除 72,12,49,28 结点,最后得到的二叉搜索树的广义表表示。广义表表示:参考答案:广义表表示:30(16,63(34)31、 已知一个数据表为48,25,56,32,40,请写出在进行快速排序的过程中每次划分后数据表的变化。(0) 48 25 56 32 40(1) (2)(3)参考答案:(0) 48 25 56 32 40(1) 40 25 32 48

11、 56(2) 32 25 40 48 56(3) 25 32 40 48 56 32、 已知有一个数据表为30,18,20,15,38,12,44,53,46,18*,26,86,给出进行归并排序的过程中每一趟排序后的数据表变化。 (0) 30 18 20 15 38 12 44 53 46 18* 26 86(1) (2)(3)(4)参考答案:(0) 30 18 20 15 38 12 44 53 46 18* 26 86(1) 18 3015 2012 3844 5318* 4626 86(2) 15 18 20 3012 38 44 5318* 26 46 86(3) 12 15 18

12、20 30 38 44 5318* 26 46 86(4) 12 15 18 18* 20 26 30 38 44 46 53 8633、 设散列表为 HT17, 待插入关键码序列为“Jan“, “Feb“, “Mar“, “Apr“, “May“, “June“, “July“, “Aug“,“Sep“,“Oct“,“Nov“,“Dec“,散列函数为 H(key)=?i/2?,其中 i 是关键码第一个字母在字母表中的序号(字母A在字母表中的序号为 1,以下类推) ,采用线性探查法解决冲突。根据建立的闭散列表,搜索长度大于等于 3 的关键码有那些?搜索长度大于等于 3 的关键码有: 参考答案:

13、搜索长度大于等于 3 的关键码有:“June“,“July“,“Oct“,“Nov“五、综合题:20 分,每题 10 分34、 已知二叉树中的结点类型 BinTreeNode 定义为:struct BinTreeNode ElemType data; BinTreeNode *left, *right;其中 data 为结点值域,left 和 right 分别为指向左、右子女结点的指针域。参数 bt 指向一棵二叉树,引用参数 x 一开始具有的值小于树中所有结点的值。试根据下面的函数定义指出此算法的功能。int JB(BinTreeNode* bt, ElemTypeelse if(JB(bt-left,x)=0) return 0;if(bt-datadata;if(JB(bt-right,x)=0) return 0;else return 1;算法功能: 参考答案:算法功能:判断二叉树 bt 是否为一棵二叉搜索树,若是则返回 1 否则返回 0。六、填空题(主观):04 分,每题 02 分35、 快速排序在平均情况下的空间复杂度为_。 参考答案:O(log2n)36、 假定对长度为 n 的线性表进行索引顺序搜索,并假定每个子表的长度均为 ,则进行索引顺序搜索的时间复杂度为_。 参考答案:O()很多人的理想是要改变这个世界,但却很少有人愿意去改变自己。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报