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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(【学历类职业资格】数据结构导论自考题-1及答案解析.doc)为本站会员(feelhesitate105)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【学历类职业资格】数据结构导论自考题-1及答案解析.doc

1、数据结构导论自考题-1 及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:30.00)1.算法的便于阅读和理解的特性称为( )A正确性 B易读性C健壮性 D时空性(分数:2.00)A.B.C.D.2.给定有 n 个元素,建立一个有序单链表的时间复杂度为( )AO(1) BO(n)CO(n 2) DO(nlog 2n)(分数:2.00)A.B.C.D.3.在双链表中某结点(已知其地址)前插入一新结点,其时间复杂度为( )AO(n) BO(1)CO(n 2) DO(log 2n)(分数:2.00)A.B.C.D.4.顺序栈 s 中 top 为栈顶指针,指向栈

2、顶元素所在的位置,elem 为存放栈的数组,则元素 e 进栈操作的主要语句为( )As.elemtop=e;s.top=s.top+1;Bs.elemtop+1=e;s.top=s.top+1;Cs.top=s.top+1;s.elemtop+1=e;Ds.top=s.top+1;s.elemtop=e;(分数:2.00)A.B.C.D.5.一个数组的第一个元素的存储地址是 100,每个元素占 2 个存储单元,则第 5 个元素的存储地址是( )A110 B108C100 D120(分数:2.00)A.B.C.D.6.已知某完全二叉树采用顺序存储结构,结点数据的存放顺序依次为 A、B、C、D、E

3、、F、G、H,该完全二叉树的后序遍历序列为( )AHDBEFCGA BHDEBFGCACDHEBFGACA DDEHBFGCA(分数:2.00)A.B.C.D.7.除根结点外,树上每个结点( )A可有任意多个孩子、一个双亲 B可有任意多个孩子、任意多个双亲C可有一个孩子、任意多个双亲 D只有一个孩子、一个双亲(分数:2.00)A.B.C.D.8.一棵完全二叉树上有 1001 个结点,其中叶子结点的个数是( )A250 B500C501 D505(分数:2.00)A.B.C.D.9.设有 6 个结点的无向图,若要确保此图是一个连通图,则至少应有边的条数是( )A5 B6C7 D8(分数:2.00

4、)A.B.C.D.10.在含有 n 个顶点 e 条边的无向图的邻接矩阵中,零元素的个数为( )Ae B2eCn 2-e Dn 2-2e(分数:2.00)A.B.C.D.11.设有无向图 G=(V,E)和(G=(V,E),如 G为 G 的生成树,则下面说法不正确的是( )AG为 G 的子图 BG为 G 的连通分量CG为 G 的极小连通子图且 V=V DG是 G 的无环子图(分数:2.00)A.B.C.D.12.利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素 35 要进行元素间比较的次数是( )A4 次 B5 次C7 次 D10

5、次(分数:2.00)A.B.C.D.13.采用二分查找法,若当前取得的中间位置 MID 的元素值小于被查找值,则表明待查元素可能在表的后半部分,下次查找的起始位置通常应( )A从 MID/2 位置开始 B从 MID 位置开始C从 MID-1 位置开始 D从 MID+1 位置开始(分数:2.00)A.B.C.D.14.当待排序序列中记录数较少或基本有序时,最适合的排序方法为( )A直接插入排序法 B快速排序法C堆排序法 D归并排序法(分数:2.00)A.B.C.D.15.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为( )A

6、(38,40,46,56,79,84) B(40,38,46,79,56,84)C(40,38,46,56,79,84) D(40,38,46,84,56,79)(分数:2.00)A.B.C.D.二、填空题(总题数:13,分数:26.00)16.算法的空间性能是指算法需要的 1。(分数:2.00)填空项 1:_17.程序段“i=1; while(i=n) i=i*2;”的时间复杂度 T(n)= 1。(分数:2.00)填空项 1:_18.对顺序表执行删除操作,其删除算法的平均时间复杂度为 1。(分数:2.00)填空项 1:_19.顺序队的出、入队操作会产生 1。(分数:2.00)填空项 1:_2

7、0.若 front 和 rear 分别表示循环队列 Q 的头指针和尾指针,m 0表示该队列的最大容量,则循环队列为空的条件是 1。(分数:2.00)填空项 1:_21.二维数组 A56采用按列为主序的存储方式,每个元素占 3 个存储单元,若 A00的存储地址是100,则 A43的存储地址是 1。(分数:2.00)填空项 1:_22.对一棵深度为 10 的满二叉树按层编号,则编号为 51 的结点,它的双亲结点编号为 1。(分数:2.00)填空项 1:_23.对于一棵具有 n 个结点的二叉树,当进行链接存储时,其二叉链表中的指针域的总数为 2n 个,其中 1 个用于链接孩子结点。(分数:2.00)

8、填空项 1:_24.设 F、C 是二叉树中的两个结点,若 F 是 C 的祖先结点,则在采用后序遍历方法遍历该二叉树时,F 和C 的位置关系为:F 必定在 C 的 1。(分数:2.00)填空项 1:_25.在无向图 G 的邻接矩阵 A 中,若 Aij等于 0,则 Aji等于 1。(分数:2.00)填空项 1:_26.有 n 个顶点的强连通图最多有 1 条弧。(分数:2.00)填空项 1:_27.先在所有的记录中选出键值最小的记录,将它与第一个记录交换;然后在其余的记录中再选出最小的记录与第二个记录交换,依此类推,直至所有记录排序完成。这种排序方法称为 1。(分数:2.00)填空项 1:_28.对

9、 n 个元素进行冒泡排序时,第一趟排序的比较次数为 1。(分数:2.00)填空项 1:_三、应用题(总题数:5,分数:30.00)29.已知一棵二叉树的中序序列和后序序列分别为 BDCEAFHG 和 DECBHGFA,试画出这棵二叉树,并给出其先序序列。(分数:6.00)_30.分别写出删除单向和双向循环链表中指针 P 所指的结点的直接后继结点(非尾结点)对应的语句。(1)单向循环链表。(2)双向循环链表。(分数:6.00)_31.假设高度为 h 的二叉树上只有度为 0 和度为 2 的结点,问此类二叉树中的结点数可能达到的最大值和最小值各为多少? 并说明是什么样的二叉树?(分数:6.00)_3

10、2.试写出下图的拓扑序列。(分数:6.00)_33.已知数据序列为(12,5,9,20,6,31,24),对该数据序列进行排序,试写出插入排序和冒泡排序每趟的结果。(分数:6.00)_四、算法设计题(总题数:2,分数:14.00)34.设某带头结点的单链表的结点结构说明如下:typedef struct nodelint data;struct nodel*next;node;试设计一个算法:void copy(node*head1, node*head2),将以 head1 为头指针的单链表复制到一个不带有头结点且以 head2 为头指针的单链表中。(分数:7.00)_35.试编写算法求键值

11、为 k 结点在给定的二叉排序树中所在的层数。(分数:7.00)_数据结构导论自考题-1 答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:15,分数:30.00)1.算法的便于阅读和理解的特性称为( )A正确性 B易读性C健壮性 D时空性(分数:2.00)A.B. C.D.解析:解析 本题主要考查的知识点是算法的易读性。要点透析 算法的易读性是指易于阅读、理解和交流,便于调试、修改和扩充。2.给定有 n 个元素,建立一个有序单链表的时间复杂度为( )AO(1) BO(n)CO(n 2) DO(nlog 2n)(分数:2.00)A.B. C.D.解析:解析 本题主要考查

12、的知识点是建立有序单链表的时间复杂度。要点透析 在创建有序单链表的过程中,每一次将新结点链接入有序表的时间分两部分,其一是查找插入的合适位置,其二是将元素插入。后者的时间复杂度是常量 O(1),而前者的时间复杂度由比较元素的次数决定,由于元素比较的次数是不确定的,只能取平均比较次数,为(n+1)/2,故其时间复杂度为 O(n)。由线性累加规则可得整个算法的时间复杂度为:O(n)。3.在双链表中某结点(已知其地址)前插入一新结点,其时间复杂度为( )AO(n) BO(1)CO(n 2) DO(log 2n)(分数:2.00)A.B. C.D.解析:4.顺序栈 s 中 top 为栈顶指针,指向栈顶

13、元素所在的位置,elem 为存放栈的数组,则元素 e 进栈操作的主要语句为( )As.elemtop=e;s.top=s.top+1;Bs.elemtop+1=e;s.top=s.top+1;Cs.top=s.top+1;s.elemtop+1=e;Ds.top=s.top+1;s.elemtop=e;(分数:2.00)A.B.C.D. 解析:5.一个数组的第一个元素的存储地址是 100,每个元素占 2 个存储单元,则第 5 个元素的存储地址是( )A110 B108C100 D120(分数:2.00)A.B. C.D.解析:6.已知某完全二叉树采用顺序存储结构,结点数据的存放顺序依次为 A、

14、B、C、D、E、F、G、H,该完全二叉树的后序遍历序列为( )AHDBEFCGA BHDEBFGCACDHEBFGACA DDEHBFGCA(分数:2.00)A.B. C.D.解析:解析 本题主要考查的知识点是完全二叉树的后序遍历。要点透析 要求得二叉树的后序遍历序列。必须首先将二叉树构造出来。根据题意可求得二叉树如下图所示。对二叉树进行后序遍历,可知正确答案为 B 项。7.除根结点外,树上每个结点( )A可有任意多个孩子、一个双亲 B可有任意多个孩子、任意多个双亲C可有一个孩子、任意多个双亲 D只有一个孩子、一个双亲(分数:2.00)A. B.C.D.解析:8.一棵完全二叉树上有 1001

15、个结点,其中叶子结点的个数是( )A250 B500C501 D505(分数:2.00)A.B.C. D.解析:解析 本题主要考查的知识点是完全二叉树。要点透析 由二叉树结点的公式:n=n 0十 n1+n2=n0+n1+(n0-1)=2n0+n1-1,因为 n=1001,所以1002=2n0+n1,在完全二叉树中,n 1只能取 0 或 1,在本题中只能取 0(如果取 1 则 n0=500.5 是不可能的),故 n=501。9.设有 6 个结点的无向图,若要确保此图是一个连通图,则至少应有边的条数是( )A5 B6C7 D8(分数:2.00)A. B.C.D.解析:解析 本题主要考查的知识点是无

16、向图的连通图。要点透析 无向图的顶点数为 n,则其含有全部顶点的连通图的边数最少为 n-1。10.在含有 n 个顶点 e 条边的无向图的邻接矩阵中,零元素的个数为( )Ae B2eCn 2-e Dn 2-2e(分数:2.00)A.B.C.D. 解析:11.设有无向图 G=(V,E)和(G=(V,E),如 G为 G 的生成树,则下面说法不正确的是( )AG为 G 的子图 BG为 G 的连通分量CG为 G 的极小连通子图且 V=V DG是 G 的无环子图(分数:2.00)A.B. C.D.解析:解析 本题主要考查的知识点是无向图。要点透析 一个连通图的生成树,是含有该连通图的全部顶点的一个极小连通

17、子图,但不一定含有全部的边,也就不满足连通分量的定义。因此不能说 G为 G 的连通分量。12.利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素 35 要进行元素间比较的次数是( )A4 次 B5 次C7 次 D10 次(分数:2.00)A. B.C.D.解析:解析 本题主要考查的知识点是二叉排序树的查找。要点透析 建立起二叉排序树如图所示。查找元素 35 需要比较 4 次,所以选 A。13.采用二分查找法,若当前取得的中间位置 MID 的元素值小于被查找值,则表明待查元素可能在表的后半部分,下次查找的起始位置通常应( )A从 M

18、ID/2 位置开始 B从 MID 位置开始C从 MID-1 位置开始 D从 MID+1 位置开始(分数:2.00)A.B.C.D. 解析:14.当待排序序列中记录数较少或基本有序时,最适合的排序方法为( )A直接插入排序法 B快速排序法C堆排序法 D归并排序法(分数:2.00)A. B.C.D.解析:15.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为( )A(38,40,46,56,79,84) B(40,38,46,79,56,84)C(40,38,46,56,79,84) D(40,38,46,84,56,79)(分

19、数:2.00)A.B.C. D.解析:解析 本题主要考查的知识点是快速排序的方法。要点透析 快速排序是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小。初始序列:46 79 56 38 40 84第 1 次交换:40 79 56 38 46 84第 2 次交换:40 46 56 38 79 84第 3 次交换:40 38 56 46 79 84第 4 次交换:40 38 46 56 79 84二、填空题(总题数:13,分数:26.00)16.算法的空间性能是指算法需要的 1。(分数:2.00)填空项 1:_

20、(正确答案:存储量)解析:17.程序段“i=1; while(i=n) i=i*2;”的时间复杂度 T(n)= 1。(分数:2.00)填空项 1:_ (正确答案:O(log 2n))解析:18.对顺序表执行删除操作,其删除算法的平均时间复杂度为 1。(分数:2.00)填空项 1:_ (正确答案:O(n))解析:19.顺序队的出、入队操作会产生 1。(分数:2.00)填空项 1:_ (正确答案:假溢出)解析:20.若 front 和 rear 分别表示循环队列 Q 的头指针和尾指针,m 0表示该队列的最大容量,则循环队列为空的条件是 1。(分数:2.00)填空项 1:_ (正确答案:Q.rear

21、=Q.front)解析:21.二维数组 A56采用按列为主序的存储方式,每个元素占 3 个存储单元,若 A00的存储地址是100,则 A43的存储地址是 1。(分数:2.00)填空项 1:_ (正确答案:157)解析:22.对一棵深度为 10 的满二叉树按层编号,则编号为 51 的结点,它的双亲结点编号为 1。(分数:2.00)填空项 1:_ (正确答案:25)解析:23.对于一棵具有 n 个结点的二叉树,当进行链接存储时,其二叉链表中的指针域的总数为 2n 个,其中 1 个用于链接孩子结点。(分数:2.00)填空项 1:_ (正确答案:n-1)解析:24.设 F、C 是二叉树中的两个结点,若

22、 F 是 C 的祖先结点,则在采用后序遍历方法遍历该二叉树时,F 和C 的位置关系为:F 必定在 C 的 1。(分数:2.00)填空项 1:_ (正确答案:后面)解析:25.在无向图 G 的邻接矩阵 A 中,若 Aij等于 0,则 Aji等于 1。(分数:2.00)填空项 1:_ (正确答案:0)解析:26.有 n 个顶点的强连通图最多有 1 条弧。(分数:2.00)填空项 1:_ (正确答案:n(n-1))解析:27.先在所有的记录中选出键值最小的记录,将它与第一个记录交换;然后在其余的记录中再选出最小的记录与第二个记录交换,依此类推,直至所有记录排序完成。这种排序方法称为 1。(分数:2.

23、00)填空项 1:_ (正确答案:直接选择排序)解析:28.对 n 个元素进行冒泡排序时,第一趟排序的比较次数为 1。(分数:2.00)填空项 1:_ (正确答案:n-1)解析:三、应用题(总题数:5,分数:30.00)29.已知一棵二叉树的中序序列和后序序列分别为 BDCEAFHG 和 DECBHGFA,试画出这棵二叉树,并给出其先序序列。(分数:6.00)_正确答案:(先序序列为:ABCDEFGH,所求二叉树如图所示:)解析:30.分别写出删除单向和双向循环链表中指针 P 所指的结点的直接后继结点(非尾结点)对应的语句。(1)单向循环链表。(2)双向循环链表。(分数:6.00)_正确答案:

24、(1)单向循环链表:p-next=p-next-next;(2)双向循环链表:p-next=p-next-next;p-next-prior=P;)解析:31.假设高度为 h 的二叉树上只有度为 0 和度为 2 的结点,问此类二叉树中的结点数可能达到的最大值和最小值各为多少? 并说明是什么样的二叉树?(分数:6.00)_正确答案:(结点数的最大值为 2h-1,最小值为 2h-1(第一层根结点,其余每层均两个结点且互为兄弟)。结点最多时为满二叉树。h=5 时最小值的情况之一:)解析:32.试写出下图的拓扑序列。(分数:6.00)_正确答案:(有以下三个拓扑序列:v1 v5 v2 v3 v6 v4

25、v1 v5 v6 v2 v3 v4v5 v6 v1 v2 v3 v4)解析:33.已知数据序列为(12,5,9,20,6,31,24),对该数据序列进行排序,试写出插入排序和冒泡排序每趟的结果。(分数:6.00)_正确答案:(1)插入排序的每趟的结果:初始值键值序列 12 5 9 20 6 31 24i=2512 9 20 6 31 24i=35 912 20 6 31 24i=45 9 1220 6 31 24i=55 6 9 1220 31 24i=65 6 9 12 2031 24i=75 6 9 12 20 2431排序结果5 6 9 12 20 24 31(2)冒泡排序的每趟的结果:

26、初始键值序列12 5 9 20 6 31 24第一趟之后5 9 12 6 20 2431第二趟之后5 9 6 12 2024 31第三趟之后5 6 9 1220 24 31第四趟之后 5 6 9 12 20 24 31)解析:四、算法设计题(总题数:2,分数:14.00)34.设某带头结点的单链表的结点结构说明如下:typedef struct nodelint data;struct nodel*next;node;试设计一个算法:void copy(node*head1, node*head2),将以 head1 为头指针的单链表复制到一个不带有头结点且以 head2 为头指针的单链表中。

27、(分数:7.00)_正确答案:(算法描述如下:void copy(node* head1, node*head2) node*p, *q;head2=(node*) malloc(sizeof(node) )q=head2; p=head1-next;while(p!=NULL)s=(node*)malloc (sizeof(node);s-data=p-data;q-next=s;q=s;p=p-next;q-next=NULL;p=head2;head2=head2-next;free(p);)解析:35.试编写算法求键值为 k 结点在给定的二叉排序树中所在的层数。(分数:7.00)_正确答案:(算法描述如下:int level_count(BinTree bst, KeyType k)/求键值为 k 结点在给定的二叉排序树中所在/的层数int lev=0;BSTNode*p=bst;while(p!=NULL)lev+;if(p-data=k) return lev; /返回结果if(p-datak);p=p-rchild;/向右走elsep=P-lchild; /向左走return 0; /没有对应结点)解析:

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1