1、 全天24小时服务咨询电话 010-82335555免费热线 4008135555 自考名师全程视频授课,图像、声音、文字同步传输,享受身临其境的教学效果; 权威专家在线答疑,提交到答疑板的问题在24小时内即可得到满意答复; 课件自报名之日起可反复观看不限时间、地点、次数,直到当期考试结束后一周关闭; 付费学员赠送1G超大容量电子信箱;及时、全面、权威的自考资讯全天24小时滚动更新; 一次性付费满300元,即可享受九折优惠;累计实际交费金额500元或支付80元会员费,可成为银卡会员,购课享受八折优惠;累计实际交费金额1000元或支付200元会员费,可成为金卡会员,购课享受七折优惠(以上须在同一
2、学员代码下);英语/高等数学预备班:英语从英文字母发音、国际音标、基本语法、常用词汇、阅读、写作等角度开展教学;数学针对有仅有高中入学水平的数学基础的同学开设。通过知识点精讲、经典例题详解、在线模拟测验,有针对性而快速的提高考生数学水平。立即报名!基础学习班:依据全新考试教材和大纲,由辅导老师对教材及考试中所涉及的知识进行全面、系统讲解,使考生从整体上把握该学科的体系,准确把握考试的重点、难点、考点所在,为顺利通过考试做好知识上、技巧上的准备。立即报名!冲刺串讲班:结合历年试题特点及命题趋势,规划考试重点内容,讲解答题思路,传授胜战技巧,为考生指出题眼,提供押题参考。配合高质量全真模拟试题,让
3、学员体验实战,准确地把握考试方向、将已掌握的应试知识融会贯通,并做到举一反三。立即报名!习题班:自考365网校与北大燕园合作推出,共计390门课程,均涵盖该课程全部考点、难点,在线测试系统按照考试难度要求自动组卷、全程在线测试、提交后自动判定成绩。我们相信经过反复练习定能使您迅速提升应试能力,使您考试梦想成真!立即报名!论文答辩与毕业申请指导班:来自主考院校的指导老师全程视频授课,系统阐述申报自考论文的时间、论文的选题、论文的格式及内容、与导师的沟通技巧等,并提供论文范例供学员参考。立即报名!自考实验班:针对高难科目开设,签协议,不及格返还学费。全国限量招生,报名咨询 010-82335555
4、 立即报名!全国2008年1月高等教育自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.逻辑上通常可以将数据结构分为()A.动态结构和静态结构B.顺序结构和链式结构C.线性结构和非线性结构D.初等结构和组合结构2.在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是()A.访问第i个元素的前驱(1next= =NULLC.head!=NULLD.headnext= =head4.已知栈的最大容量为4。若进栈序列为1,2,3,4,5,6,
5、且进栈和出栈可以穿插进行,则可能出现的出栈序列为()A.5,4,3,2,1,6B.2,3,5,6,1,4C.3,2,5,4,1,6D.1,4,6,5,2,35.与线性表相比,串的插入和删除操作的特点是()A.通常以串整体作为操作对象B.需要更多的辅助空间C.算法的时间复杂度较高D.涉及移动的元素更多6.假设以三元组表表示稀疏矩阵,则与如图所示三元组表对应的45的稀疏矩阵是(注:矩阵的行列下标均从1开始)()A.B.C.D.7.以下有关广义表的表述中,正确的是()A.由0个或多个原子或子表构成的有限序列B.至少有一个元素是子表C.不能递归定义D.不能为空表8.树的先根序列等同于与该树对应的二叉树
6、的()A.先序序列B.中序序列C.后序序列D.层序序列9.假设有向图含n个顶点及e条弧,则表示该图的邻接表中包含的弧结点个数为()A.nB.eC.2eD.ne10.如图所示的有向无环图可以得到的不同拓扑序列的个数为()A.1B.2C.3D.411.下列排序方法中,稳定的排序方法为()A.希尔排序B.堆排序C.快速排序D.直接插入排序12.对下列关键字序列进行快速排序时,所需进行比较次数最少的是()A.(1,2,3,4,5,6,7,8)B.(8,7,6,5,4,3,2,1)C.(4,3,8,6,1,7,5,2)D.(2,1,5,4,3,6,7,8)13.含n个关键字的二叉排序树的平均查找长度主要
7、取决于()A.关键字的个数B.树的形态C.关键字的取值范围D.关键字的数据类型14.下列查找算法中,平均查找长度与元素个数n不直接相关的查找方法是()A.分块查找B.顺序查找C.二分查找D.散列查找15.可有效提高次关键字查找效率的文件是()A.顺序文件B.倒排文件C.散列文件D.VSAM文件二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。16.数据的存储结构是其逻辑结构_。17.输入线性表的n个元素建立带头结点的单链表,其时间复杂度为_。18.假设循环队列的元素存储空间大小为m,队头指针f指向队头元素,队尾指针r指向队尾元素的下一个位置,
8、则在少用一个元素空间的前提下,表示“队满”的条件是_。19.给定串的联接操作函数:char *strcat(char *to, char *from);/将串from联接到串to的末尾,并返回联接后的串 若字符串s1=point,s2=of,则strcat(s1,strcat)(s2,s1)的操作结果是_。20.假设二维数组A810按行优先顺序存储,若每个元素占2个存储单元,元素A00的存储 地址为100,则元素A45的存储地址为_。21.假设一棵完全二叉树含1000个结点,则其中度为2的结点数为_。22.已知一个有向网如图所示,从顶点1到顶点4的最短路径长度为_。23.在快速排序、堆排序和归
9、并排序中,最坏时间复杂度为O(n2)的排序算法有_。24.假设散列表的表长为11,散列函数为H(key)=key%7,若用线性探测处理冲突,则探查地址序列hi的计算公式为_。25.VSAM文件由_,_和数据集三部分组成。三、解答题(本大题共4小题,每小题5分,共20分)26.已知广义表的图形表示如图所示,(1) 写出该广义表L;(2) 分别写出该广义表的深度和长度。(1)(2)27.已知二叉树的先序序列和中序序列分别为ABDEHCFI和DBHEACIF,(1) 画出该二叉树的二叉链表存储表示;(2) 写出该二叉树的后序序列。 (1) (2)28.已知有向图的邻接表如图所示,(1) 写出从顶点A
10、出发,对该图进行广度优先搜索遍历的顶点序列;(2) 画出该有向图的逆邻接表。(1)(2)29.依次读入给定的整数序列7,16,4,8,20,9,6,18,5,完成下列操作:1)构造一棵二叉排序树,计算在等概率情况下该二叉排序树的平均查找长度ASL; 2)若变更序列中元素的排列,可构造出平均查找长度达到最小的二叉排序树。写出满足上述要求的序列中的第一个元素。(1)(2)四、算法阅读题(本大题共4小题,每小题5分,共20分)30.假设以带头结点的单链表表示线性表,阅读下列算法f30,并回答问题:(1) 设线性表为( a1, a2, a3, a4, a5, a6, a7 ), 写出执行算法f30后的
11、线性表;(2) 简述算法f30的功能。 void f30(LinkList L)/L为带头结点单链表的头指针LinkList p,q;P =L;while (p &pnext)q = pnext;pnext =qnext;p =qnext;free(q); (1) (2)31.算法f31的功能是借助栈结构实现整数从10进制到8进制的转换,阅读算法并回答问题:(1) 画出n为十进制的1348时算法执行过程中栈的动态变化情况;(2) 说明算法中while循环完成的操作。void f31(int n) /n为非负的十进制整数 int e; SeqStack S; InitStack(& S); do
12、 Push(& S,n%8);n =n/8;while (n);while ( ! StackEmpty(& S)e =Pop(& S);printf (%ld,e);(1)(2)32.已知以二叉链表作二叉树的存储结构,阅读算法f32,并回答问题:(1) 设二叉树T如图所示,写出执行f32(T)的返回值;(2) 简述算法f32的功能。int f32(BinTree T) int m, n; if(! T) return 0; else m= f32(Tlchild); n = f 32(Trchild); if(mn)return m +1; else return n+1; (1)(2)33
13、.设有向图邻接表定义如下; typedef struct VertexNode adjlistMax VertexNum; int n,e; /图的当前顶点数和弧数 ALGraph; /邻接表类型vertexfirstedge其中顶点表结点VertexNode结构为:adjvexnext边表结点EdegNode结构为:阅读下列算法f33,并回答问题:(1)已知有向图G的邻接表如图所示, 写出算法f33的输出结果;(2)简述算法f33的功能。void dfs (ALGraph *G,int v) EdgeNode * p; visitedv=TRUE; printf(%c,Gadjlistvve
14、rtex); for(p =Gadjlistv)firstedge; p; p=pnext) if(! visitedpadjvex)dfs (G, padjvex); void f33(ALGraph *G) int v,w;for(v=0; v n; v +) for(w=0;wn; w+) visitedw=FALSE;printf(%d: ,v);dfs(G,v);printf(n); (1)(2)五、算法设计题(本大题10分)34.假设以单链表表示线性表,单链表的类型定义如下:typedef struct node DataType data; struct node *next; LinkNode, *LinkList; 编写算法,将一个头指针为head且不带头结点的单链表改造为一个含头结点且头指针仍为head的单向循环链表,并分析算法的时间复杂度。 自考365(-)领先的专注于自学考试的网络媒体与服务平台 - 本套试题共分6页,当前页是第6页-