数据结构c语言版试题_第1页
数据结构c语言版试题_第2页
数据结构c语言版试题_第3页
数据结构c语言版试题_第4页
数据结构c语言版试题_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构考试试卷(A)课程名称:数据结构(C语言)试卷满分100分考试时间:年月日(第周星期)题号一一三四五六七八九十总分评卷得分评卷签名复核得分复核签名一、选择题(每项选择2分,共34分)1、在数据结构中,与所使用的计算机无关的是(D)0A存储2构R物理2构C、物理和存储结构D逻辑结构2、可以把数据的逻辑结构划分成(D)。A、内部结构和外部结构B、动态结构和静态结构G紧凑结构和非紧凑结构口线性结构和非线性结构3、一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是(B)。A110B、108C、100D1204、栈结构通常采用的两种存储结构是(A)。A顺序存储结构和链

2、式存储结构;R散列方式和索引方式;G链式存储结构和数组;D线性存储结构和非线性存储结构。5、在下列链表中不能从当前结点出发访问到其余各结点的是(A)。A、单链表B、单循环链表C、双向链表D、双向循环链表6、在表长为n的单链表中,算法时间复杂度为O(n)的操作是(A)。A、查找单链表中第i个结点。B、在当前结点之后插入一个结点。C、删除表中第一个结点。D、删除当前结点的直接后继结点。7、数组A中,每个数据元素的长度为3个字节,行下标从1到8,列下标从3到10,存放该数组至少需要的单元数是(D)。A、80B、100C、240D、2708、稀疏矩阵一般的压缩存储方法有两种,即(C)。A、二维数组和三

3、维数组B、三元组和散列C、三元组和十字链表D、散列和十字链表9、广义表(a,b,c,d)的表头是(A)表尾是(D)。A、aB、bC、(a,b)D、(b,c,d)10、已知二叉树的后序序列为fgbedca,中序序列为fbgadec则该二叉树的前序序列为(B),层次序列为(C)。A、abcdefgB、abfgcdeC、abcfgdeD、fgedcba11、某二叉树只有度为0和度为2的结点,如果该二叉树只有21个结点,则叶子结点数为(C)。A、9B、10C、11D、1212、一个有n个顶点的无向图最多有(C)条边。A、nB、n(n-1)C、n(n-1)/2D、2n13、对于一个具有n个顶点e条边的无

4、向图,若采用邻接矩阵表示,该矩阵大小是(D)。A、e2B、n+eC、n*eD、n214、如果要求一个线性表既能较快的查找,又能适应动态变化的要求,可以采用(A)方法。A、分块B、顺序C、二分D、散列15、在以下排序算法中,关键字的比较次数与记录的初始排列次序无关的是(D)。A、希尔排序B、起泡排序C、插入排序D、选择排序二、算法测试(共28分)先按要求填空完成程序,再回答有关问题。1、(31分)设h是带表头结点的单链表的头指针,请设计一个逆置这个单链表的程序。即原链表为忿肉而),逆置后变为(an,an-1双向)。单链表结点结构为:typedefstructnodeintdata;:struct

5、node*link;(2分)LNode;voidinvert(LNode*h)LNode*s,*p;p=h->link;h->link=null;或者0;(2分)while(p!=NULL)s=p;p=p->link;s->link=h->link;_(2分)h->link=s;什么是表头结点?(2分)如果该链表无表头结点,则原程序该做怎样的修改?(4分)2、(13分)对以下函数填空,实现以带头结点的单链表h为存储结构的直接选择排序。单链表的结点结构定义为typedefstructnodeintkey;structnode*next;JD;voidzjxzp

6、x(JD*h)JD*p,*q,*m;intx;p=h->next;while(p!=NULL)q=p->next;m=p;while(q!=NULL)if(m->key>q->key);(2分);(2分)if(p!=m)x=p->key;p->key=m->key;m->key=x;(2分)直接选择排序属于像定/不稳定)排序。(2分)该排序算法总的键值比较次数为o(2分)并分析什么情况下有最小移动记录次数?什么情况下有最大移动记录次数?算法的平均时间复杂度为多少?(3分)3、(6分)对以下函数填空实现求中序线索二叉树中结点后继的算法。中序线

7、索树中结点结构定义为:typedefstructTbTreeintdata;structTbTree*lchild,*rchild;intLTag,RTag;/左右标志,0表示有子女,1表示线索指针TbTree;TbTree*succ(TbTree*p)/p为指向当前结点的指针TbTree*q;if(p->RTag=1)return()(2分)elseq=p->rchild;while()q=q->left;(2分)return(q);(1在中序线索二叉树中,中序遍历访问的第一个结点左标志位(LTag)为分),其lchild=o(1分)三、应用题(共35分)1、(6分)已知二

8、叉树的层次序列为ABCDEFGHIJK,中序序歹U为DBGEHJACIKF,请构造一棵二叉树,并写出其后序序列。2、(10分)已知二叉树的先序、中序和后序序列如下,其中有一些看不清的字母用*表示,请先补充*处的字母,再构造一棵符合条件的二叉树(画出图示),最后画出带头结点的中序线索链表。前序序列:*BC*G*中序序列:CB*EAGH*后序序列:*EDB*FA3、(6分)将下列二叉树还原成森林,并写出先序遍历森林序列。A8 (ECFGM1!D)(HN)(KIJ4、 (8分)已知图G=(V,E),其中V=a,b,c,d,e,E=<a,b>,<a,c>,<a,d>

9、,<b,c>,<d,c>,<b,e>,<c,e>,<d,e>要求:(1) 画出图G;(2分)(2) 给出图G的邻接矩阵;(2分)(3) 给出图G的邻接表;(2分)(4) 给出图G的一种拓扑序列。(2分)5、(2分)判断下列序列是否为大根堆,如果不是则把它们调整成大根堆。90,86,48,73,35,40,42,58,66,206、(3分)按下列输入顺序,建立相应的二叉排序树。(1) 4,5,6(2)5,4,6(3)6,5,4答案及评分标准、选择题(每项选择2分,共34分,错选不给分)1、D2、D3、B4、A5、A6、A7、D8、C9、

10、AD10、BC11、C12、C13、D14、A15、D、算法测试题(共31分)1、structnode*link;(2分)NULL;或者0;(2分)s->link=h->link;(2分)什么是表头结点?答:表头结点是有时为了操作方便而在链表的第一结点之前添加的一个结点,该结点结构与表中结点相加但数据域不存放表中数据,一或者闲置不用,或者存放特殊信息。表头结点的链域存放指向链表中第一个结点的指而(2分,回答对点给1分;点0.5分;点0.5分。)如果该链表无表头结点该做怎样的修改?修改如下:voidinvert(LNode*h)LNode*s,*p;p=h;(1分)h=NULL;(1

11、分)while(p!=NULL)s=p;p=p->link;s->link=h;11分)h=s;(1分)2、m=q;(2分)q=q->link;(2分)p=p->link;(2分)不稳定(2分)n(n-1)/2(2分)当待排序序列为“正序”时,有最小移动次数0;(1分)当待排序序列为“逆序”时,有最大移动次数3(n-1);(1分)算法的平均时间复杂度为O(n2)。(1分)3、p->rchild;(2分)q->ITag!=1;(2分)1 (1分);NULL;或者0;三、应用更1、 (4分,画对根结点1分,左子树正确1.5分,右子树正确1.5分)DGJHEBKIFCA(2分)2、前序序列补充完整为:ABCDEFGH(1分)中序序列补充完整为:CBDEAGHF(1分)后序序列补充完整为:CEDBHGFA(1分)(3分,画对根结点1分,左子树正确1分,右子树正确1分)(4分)画对各结点线索指针得2分,标志位正确得1分,表头结点正确得3、(4分,画对各树根结点2分,画对各子树子女结点2分)4、(1)该森林的先序序列为:ABCMNSDEFGHK

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论