2006年10月全国自考数据结构试题及答案

上传人:平*** 文档编号:11091556 上传时间:2017-10-12 格式:DOC 页数:9 大小:664.67KB
返回 下载 相关 举报
2006年10月全国自考数据结构试题及答案_第1页
第1页 / 共9页
2006年10月全国自考数据结构试题及答案_第2页
第2页 / 共9页
2006年10月全国自考数据结构试题及答案_第3页
第3页 / 共9页
2006年10月全国自考数据结构试题及答案_第4页
第4页 / 共9页
2006年10月全国自考数据结构试题及答案_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《2006年10月全国自考数据结构试题及答案》由会员分享,可在线阅读,更多相关《2006年10月全国自考数据结构试题及答案(9页珍藏版)》请在金锄头文库上搜索。

1、 1 / 92006 年 10 月全国自考数据结构试题课程代码:02331一、单项选择题(本大题共 15 小题,每小题 2 分,共 30 分)1数据结构是(D)A一种数据类型 B数据的存储结构C一组性质相同的数据元素的集合D相互之间存在一种或多种特定关系的数据元素的集合2算法分析的目的是(B)A辨别数据结构的合理性 B评价算法的效率C研究算法中输入与输出的关系 D鉴别算法的可读性3在线性表的下列运算中,不改变数据元素之间结构关系的运算是(D)A插入 B删除 C排序 D定位4若进栈序列为 1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为(B)A3,2,6,1,4,5 B3

2、,4,2,1,6,5C1,2,5,3,4,6 D5,6,4,2,3,15设串 sl=Data Structures with Java,s2=it,则子串定位函数 index(s1,s2)的值为(C)A15 B16 C17 D186二维数组 A89按行优先顺序存储,若数组元素 A23的存储地址为 1087,A47的存储地址为 1153,则数组元素 A67的存储地址为(A)A1207 B1209 C1211 D12137在按层次遍历二叉树的算法中,需要借助的辅助数据结构是(A)A队列 B栈 C线性表 D有序表8在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系(B)A不一定相同 B

3、都相同 C都不相同 D互为逆序9若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的(C)A层次遍历算法 B前序遍历算法 C中序遍历算法 D后序遍历算法10若用邻接矩阵表示一个有向图,则其中每一列包含的1的个数为(A)A图中每个顶点的入度 B图中每个顶点的出度 2 / 9C图中弧的条数 D图中连通分量的数目11图的邻接矩阵表示法适用于表示(C)A无向图 B有向图 C稠密图 D稀疏图12在对 n 个关键字进行直接选择排序的过程中,每一趟都要从无序区选出最小关键字元素,则在进行第 i 趟排序之前,无序区中关键字元素的个数为(D)Ai Bi+1 Cn-i Dn-i+113下列排序算法中,

4、其时间复杂度和记录的初始排列无关的是(B)A插入排序 B堆排序 C快速排序 D冒泡排序14若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t) ,则在二分查找关键字 b 的过程中,先后进行比较的关键字依次为(A)Af,c,b Bf,d,b Cg,c,b Dg,d,b15若在文件中查询年龄在 60 岁以上的男性及年龄在 55 岁以上的女性的所有记录,则查询条件为(C)A (性别=“男” )OR(年龄 60)OR(性别=“女” )OR(年龄55) B (性别=“男” )OR(年龄 60)AND(性别=“女” )OR(年龄55)C (性别=“男” )AND(年龄 60)OR(性别=“女”

5、 )AND(年龄55)D (性别=“男” )AND(年龄 60)AND(性别=“女” )AND(年龄55)二、填空题(本大题共 10 小题,每小题 2 分,共 20 分)16称算法的时间复杂度为 O(f(n),其含义是指算法的执行时间和(f(n))的数量级相同。17在一个长度为 n 的单链表 L 中,删除链表中*p 的前驱结点的时间复杂度为(O(n)) 。18假设为循环队列分配的向量空间为 Q20,若队列的长度和队头指针值分别为 13 和17,则当前尾指针的值为(10) 。19设 s=I AM A ATHLETE,t=GOOD,则执行下列串操作序列之后得到的 sub1 为(A GOOD ATH

6、LETE) 。substr (sub1,s,5,2);substr(sub2,s,6,8); strcpy(t1,t);strcat(t1,sub2); strcat(sub1,t1);20广义表的深度是指(广义表展开后所含括号的最大层数) 。21一棵含 999 个结点的完全二叉树的深度为(10) 。22含 n 个顶点的无向连通图中至少含有(n-1)条边。 3 / 923对表长为 9000 的索引顺序表进行分块查找,假设每一块的长度均为 15,且以顺序查找确定块,则在各记录的查找概率均相等的情况下,其查找成功的平均查找长度为(308.5) 。24若对关键字序列(43,02,80,48,26,5

7、7,15,73,21,24,66)进行一趟增量为3 的希尔排序,则得到的结果为(15,02,21,24,26,57,43,66,80,48,73) 。25ISAM 文件由主索引、 (柱面索引) 、 (磁道索引)和主文件组成。三、解答题(本大题共 4 小题,每小题 5 分,共 20 分)26某广义表的表头和表尾均为(a,(b,c)) ,画出该广义表的图形表示。答:ab cab c27已知二叉树的先序序列和中序序列分别为 HDACBGFE 和 ADCBHFEG。(1)画出该二叉树;(2)画出与(1)求得的二叉树对应的森林。答:(1) (2)HD GA CBFEHD C BAGF E28已知带权图的

8、邻接表如下所示,其中边表结点的结构为:依此邻接表从顶点 C 出发进行深度优先遍历。(1)画出由此得到的深度优先生成树;(2)写出遍历过程中得到的从顶点 C 到其它各顶点的带权路径及其长度。 4 / 9答:(1)CDBA FE(2) (C,D) 8(C,D,B) 28(C,D,B,A) 39(C,D,B,F) 37(C,D,B,F,E) 5129从空树起,依次插入关键字 37,50,42,18,48,12,56,30,23,构造一棵二叉排序树。(1)画出该二叉排序树;(2)画出从(1)所得树中删除关键字为 37 的结点之后的二叉排序树。答:(1) (2) 或3 75 01 81 2 3 0 4

9、2 5 62 3 4 83 05 01 81 2 2 3 4 2 5 64 8或 或4 25 01 81 2 3 0 4 8 5 62 33 02 3 5 04 2 5 64 81 81 25 04 2 5 64 81 81 2 3 02 3四、算法阅读题(本大题共 4 小题,每小题 5 分,共 20 分)30已知用有序链表存储整数集合的元素。阅读算法 f30,并回答下列问题: 5 / 9(1)写出执行 f30(a,b)的返回值,其中 a 和 b 分别为指向存储集合2,4,5,7,9,12和2,4,5,7,9的链表的头指针;(2)简述算法 f30 的功能;(3)写出算法 f30 的时间复杂度。

10、int f30(LinkList ha,LinkList hb)/LinkList 是带有头结点的单链表/ha 和 hb 分别为指向存储两个有序整数集合的链表的头指针LinkList pa,pb;pa=ha-next;pb=hb-next;while(pa & pb &pa-data=pb-data)pa=pa-next;pb=pb-next;if(pa=NULL&pb=NULL) return 1;else return 0;答:(1) 0 (2)比较两个整数集合的有序链表是否相等。若相等则返回 1,若不等则返回0。(3)O(Min(m+n),m 和 n 分别为两整数集合的元素个数。31已知

11、稀疏矩阵采用带行表的三元组表表示,其形式说明如下:#define MaxRow 100 /稀疏矩阵的最大行数typedef structint i,j,v; /行号、列号、元素值TriTupleNode;typedef structTriTupleNode dataMaxSize;int RowTabMaxRow+1; /行表int m,n,t; /矩阵的行数、列数和非零元个数RTriTupleTable;下列算法 f31 的功能是,以行优先的顺序输入稀疏矩阵的非零元(行号、列号、元素值) ,建立稀疏矩阵的带行表的三元组表存储结构。请在空缺处填入合适内容,使其成为一个完整的算法。 (注:矩阵的

12、行、列下标均从 1 起计) 6 / 9void f31(RTriTupleTable *R)int i,k;scanf(%d%d%d,&R-m,&R-n,&R-t);R-RowTab1=0;k=1; /k 指示当前输入的非零元的行号for(i=0;();i+)scanf(%d%d%d,() , (),m&R-datai.v);while(kdatai.i)();R-RowTabk=i;答:it &R-datai.i &R-dataj.j k+32已知二叉树的存储结构为二叉链表,其类型定义如下:typedef struct NodeType DataType data;struct NodeTy

13、pe *lchild,*rchild;BinTNode,*BinTree;阅读算法 F32,并回答下列问题:(1)对于如图所示的二叉树,画出执行算法 f32 的结果;(2)简述算法 f32 的功能。BinTree f32(BinTree bt1)BinTree bt2;if(bt1=NULL)bt2=NULL;elsebt2=(BinTNode *)malloc(sizeof(BinTNode);bt2-data=bt1-data;bt2-rchild=f32(bt1-lchild);bt2-lchild=f32(bt1-rchild);return bt2; 7 / 9答:(1) HG DF

14、EC BA(2)函数 f32 返回一个指向复制所得二叉树根节点的指针新建的二叉树上的各节点的左、右孩子是原二叉树各结点的、右左孩子。33假设有向图采用邻接表表示法,其定义如下:typedef structVertexNode adjlistMaxVertexNum;int n,e; /图的当前顶点数和弧数ALGraph; /邻接表类型其中顶点表结点 VertexNode 结构为: v e r t e x f i r s t e d g e边表结点 EdgeNode 结构为: a d j t e x n e x t下列算法 f33 的功能是,对以邻接表表示的有向图进行拓扑排序。(1)阅读算法 f

15、33,并在空缺处填入合适的内容,使其成为一个完整的算法;(2)对于如图所示的邻接表,将执行算法 f33 后的 topo结果填入给定的数组中。void f33(ALGraph G,int topo)int i,j,k,count=0;int indegreeMaxVertexNum;EdgeNode *p; /p 为指向边表结点的指针Queue Q; /Q 为队列FindIndegree(G, indegree); /求各顶点的入度,并置于入度向量 indegreeInitQueue(&Q);for(i=0;inext) 8 / 9k=p-adjvex;if(!(-indegreek) ();if(countnext;while(p-next&q)if(p-next-datadata)p=p-next;elseif(p-next-data=q-data)r=p-next;p-next=r-next;fre

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号