全国2008年10月自学考试数据结构试题

上传人:世*** 文档编号:175229442 上传时间:2021-03-22 格式:DOC 页数:9 大小:68.50KB
返回 下载 相关 举报
全国2008年10月自学考试数据结构试题_第1页
第1页 / 共9页
全国2008年10月自学考试数据结构试题_第2页
第2页 / 共9页
全国2008年10月自学考试数据结构试题_第3页
第3页 / 共9页
全国2008年10月自学考试数据结构试题_第4页
第4页 / 共9页
全国2008年10月自学考试数据结构试题_第5页
第5页 / 共9页
点击查看更多>>
资源描述

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

1、全国2008年10月自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是最符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是( )A. 栈B. 队列C. 树D. 图2.下面程序段的时间复杂度为( )for (i=0; im; i+)for (j=0; jnext=headB. p-next-next=headC. p-next=NULLD. p=head4.若以S和X分别表示进栈和退栈操作,则对初始状态为空的栈

2、可以进行的栈操作系列是( )A. SXSSXXXXB. SXXSXSSXC. SXSXXSSXD. SSSXXSXX5.两个字符串相等的条件是( )A. 串的长度相等B. 含有相同的字符集C. 都是非空串D. 串的长度相等且对应的字符相同6.如果将矩阵Ann的每一列看成一个子表,整个矩阵看成是一个广义表L,即L=(a11,a21,an1),( a12,a22,an2),,(a1n,a2n,ann)),并且可以通过求表头head和求表尾tail的运算求取矩阵中的每一个元素,则求得a21的运算是( )A. head (tail (head (L)B. head (head(head(L)C. ta

3、il (head (tail (L)D. head (head (tail (L)7.已知一棵含50个结点的二叉树中只有一个叶子结点,则该树中度为1的结点个数为( )A. 0B. 1C. 48D. 498.在一个具有n个顶点的有向图中,所有顶点的出度之和为Dout ,则所有顶点的入度之和为( )A. DoutB. Dout-1C. Dout+1D. n9.如图所示的有向无环图可以得到的拓扑序列的个数是( )A. 3B. 4C. 5D. 610.如图所示的带权无向图的最小生成树的权为( )A. 51B. 52C. 54D. 5611.对长度为n的关键字序列进行堆排序的空间复杂度为( )A. O(

4、log2n)B. O(1)C. O(n)D. O(n*log2n)12.已知用某种排序方法对关键字序列(51,35,93,24,13,68,56,42,77)进行排序时,前两趟排序的结果为(35,51,24,13,68,56,42,77,93)(35,24,13,51,56,42,68,77,93)所采用的排序方法是( )A. 插入排序B. 冒泡排序C. 快速排序D. 归并排序13.已知散列表的存储空间为T0.18,散列函数H(key)=key%17,并用二次探测法处理冲突。散列表中已插入下列关键字:T5=39,T6=57和T7=7,则下一个关键字23插入的位置是( )A. T2B. T4C.

5、 T8D. T1014.适宜进行批量处理的文件类型是( )A. 顺序文件B. 索引顺序文件C. 散列文件D. 多关键字文件15.VSAM文件的索引结构为( )A. B+树B. 二叉排序树C. B-树D. 最优二叉树二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。16.如果某算法对于规模为n的问题的时间耗费为T(n)=3n3,在一台计算机上运行时间为t秒,则在另一台运行速度是其64倍的机器上,用同样的时间能解决的问题规模是原问题规模的 倍。17.将两个长度分别为m和n的递增有序单链表,归并成一个按元素递减有序的单链表,可能达到的最好的时间复杂

6、度是 。18.已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则在队列不满的情况下,队列的长度是 。19.字符串“sgabacbadfgbacst” 中存在有 个与字符串“ba”相同的子串。20.假设以列优先顺序存储二维数组A58,其中元素A00的存储地址为LOC(a00),且每个元素占4个存储单元,则数组元素Aij的存储地址为 。21.假设用表示树的边(其中x是y的双亲),已知一棵树的边集为,,该树的度是 。22.n个顶点且含有环路的无向连通图中,至少含有 条边。23.在一般情况下用直接插入排序、选择排序和冒泡排序的过程中,所需记录交

7、换次数最少的是 。24.和二分查找相比,顺序查找的优点是除了不要求表中数据元素有序之外,对 结构也无特殊要求。25.顺序文件中记录存放的物理顺序和 顺序一致。三、解答题(本大题共4小题,每小题5分,共20分)26.由森林转换得到的对应二叉树如图所示,写出原森林中第三棵树的前序序列和后序序列。前序序列:后序序列:27.图的邻接表的类型定义如下所示:#define MaxVertexNum 50typedef struct node int adjvex;struct node *next;EdgeNode;typedef struct VertexType vertex;EdgeNode *fi

8、rstedge;VertexNode;typedef VertexNode AdjListMaxVertexNum;typedef struct AdjList adjlist;int n, e;ALGraph;为便于删除和插入图的顶点的操作,可将邻接表的表头向量定义为链式结构,两种定义的存储表示实例如下图所示,请写出重新定义的类型说明。题27图28.某类物品的编号由一个大写英文字母及2位数字(0.9)组成,形如E32。运用基数排序对下列物品编号序列进行按字典序的排序,写出每一趟(分配和收集)后的结果。E13,A37,F43,B32,B47,E12,F37,B12第一趟:第二趟:第三趟:29.

9、(1)画出对表长为13的有序顺序表进行二分查找的判定树;(2)已知关键字序列为(12,14,16,21,24,28,35,43,52,67,71,84,99),写出在该序列中二分查找37时所需进行的比较次数。(1)(2)四、算法阅读题(本大题共4小题,每小题5分,共20分)30.已知线性表的存储结构为顺序表,阅读下列算法,并回答问题:(1)设线性表L=(21,-7,-8,19,0,-11,34,30,-10),写出执行f30(&L)后的L状态;(2)简述算法f30的功能。void f30 (SeqList *L) int i,j;for (i=j=0;ilength; i+)if(L-data

10、i=0)if(i!=j)L-dataj=L-datai;j+;L-length=j;(1)(2)31.阅读下列算法,并回答问题:(1)Q、Q1和Q2都是队列结构,设队列Q=(1,0,-5,2,-4,-6,9),其中1为队头元素,写出执行f31 (&Q,&Q1,&Q2)之后队列Q、Q1和Q2的状态;(2)简述算法f31的功能。(注:lnitQueue、EnQueue、DeQueue和QueueEmpty分别是队列初始化、入列、出队和判队空的操作)void f31 (Queue*Q, Queue*Q1, Queue*Q2) int e;lnitQueue (Q1);lnitQueue (Q2);w

11、hile (!QueueEmpty (Q) e=DeQueue (Q);if (e=0) EnQueue (Q1,e);else EnQueue (Q2,e)(1)(2)32.阅读下列算法,并回答问题:(1)假设串由合法的英文字母和空格组成,并以0作结束符。设串s=”|amastudent”(表示空格符),写出f32(s)的返回值;(2)简述算法f32的功能。int f32 (char*s)int i, n, inword;n=inword=0;for (i=0;si!=0;i+)if (si!=& inword=0)inword=1;n+;else if (si=& inword=1)inw

12、ord=0;return n;(1)(2)33.阅读下列对正整数关键字序列L操作的算法,并回答问题:(1)设L=(28,19,27,49,56,12,10,25,20,50),写出f33 (L,4)的返回值;(2)简述函数f33的功能。int Partition (SeqList*L, int low, int high);对Llow.high做划分,返回基准记录的位置,并使左部的关键字都小于或等于基准记录的关键字,右部的关键字都大于基准记录的关键字int f33 (SeqList L, int k)int low, high, pivotpos;low=1;high=L.length;if

13、(khigh)return-1;do pivotpos=Partition (&L, low, high);调用快速排序的划分算法if (pivotposk)high=pivotpos-1;while (pivotpos!=k);return L.data pivotpos;(1)(2) 五、算法设计题(本题10分)34.二叉排序树的类型定义如下:typedef struct BSTNode 二叉排序树的结点结构int data; 数据域struct BSTNode *lchild, *rchild; 左、右孩子指针BSTNode,*BSTree;设计递归算法,统计一棵二叉排序树T中值小于a的结点个数。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

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