数据结构试题及答案修2

上传人:m**** 文档编号:491853856 上传时间:2023-07-28 格式:DOCX 页数:13 大小:48.14KB
返回 下载 相关 举报
数据结构试题及答案修2_第1页
第1页 / 共13页
数据结构试题及答案修2_第2页
第2页 / 共13页
数据结构试题及答案修2_第3页
第3页 / 共13页
数据结构试题及答案修2_第4页
第4页 / 共13页
数据结构试题及答案修2_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数据结构试题及答案修2》由会员分享,可在线阅读,更多相关《数据结构试题及答案修2(13页珍藏版)》请在金锄头文库上搜索。

1、试卷一、单选题(每题2分,共20分)1. 对一个算法的评价,不包括如下()方面的内容。A.健壮性和可读性 B.并行性 C.正确性 D.时空复杂度2. 在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行()。A. p-next=HL-next; HL-next=p;B. p-next=HL; HL=p;C. p-next=HL; p=HL;D. HL=p; p-next=HL;3. 对线性表,在下列哪种情况下应当采用链表表示?()A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 一个栈的输入序列为1 2

2、3,则下列序列中不可能是栈的输出序列的是()A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 35. AOV网是一种()。A.有向图B.无向图C无向无环图D有向无环图7. 若需要利用形参直接访问实参时,应将形参变量说明为()参数。A.值B.函数 C.指针D.引用8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。A.行号B.列号 C.元素值 D.非零元素个数二、填空题(每空1分,共28分)1. 数据结构是指数据及其相互之间的。当结点之间存在M对N (M: N)的联系时,称这种结构为。2. 队列的插入操作是在队列的尾进行,删除操作是在队列的首进行。3

3、. 当用长度为N的数组顺序存储一个栈时,假定用top=N表示栈空,则表示栈满的条件是top=0。4. 对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为,在表尾插入元素的时间复杂度为。7. 二叉树是指度为2的树。一棵结点数为N的二叉树,其所有结点的度的总和是。8. 对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个。对一棵由算术表达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的。9. 对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数 个,其中个用于指向孩子,个指针是空闲的。10. 若对一棵完全二叉树从0开始进行结点的编号,并按此编号把它顺序存储到一维数组

4、A中,即编号为0的结点存储到A0中。其余类推,则A i 元素的左孩子元素为,右孩子元素为,双亲元素为。11. 在线性表的散列存储中,处理冲突的常用方法有和两种。三、运算题(每题6分,共24分)1. 已知一个6x5稀疏矩阵如下所示,试:(1)写出它的三元组线性表;00001000000 1 0 0 00000 25000000700(2)给出三元组线性表的顺序存储表示。2. 设有一个输入数据的序列是 46, 25, 78, 62, 12, 80 ,试画出从空树起, 逐个输入各个数据而生成的二叉搜索树。3. 对于图6所示的有向图若存储它采用邻接表,并且每个顶点邻接表 中的边结点都是按照终点序号从小

5、到大的次序链接的,试写出:从顶点出发进行深度优先搜索所得到的深度优先生成树;从顶点出发进行广度优先搜索所得到的广度优先生成树;4. 已知一个图的顶点集V和边集E分别为:V=1,2,3,4,5,6,7;E=v2,l,v3,2,v3,6,v4,3,v4,5,v4,6,v5,l,v5,7 ,v6,2,v6,5;若存储它采用邻接表,并且每个顶点邻接表中的边 结点都是按照终点序号从小到大的次序链接的,按主教 材中介绍的拓朴排序算法进行排序,试给出得到的拓朴 排序的序列。四、阅读算法(每题7分,共14分)1. int Prime(int n) int i=1;int x=(int) sqrt(n);whi

6、le (+iv=x)if (n%i=0) break;if (ix) return 1;else return 0; (1) 指出该算法的功能;(2) 该算法的时间复杂度是多少?2. 写出下述算法的功能:void AJ(adjlist GL, int i, int n) Queue Q;InitQueue(Q); coutvvivv; visitedi=true;QInsert(Q,i); while(!QueueEmpty(Q) int k=QDelete(Q);edgenode* p=GLk; while(p!=NULL) int j=p-adjvex;if(!visitedj) cout

7、vvjvv; visitedj=true; QInsert(Q,j); p=p-next; HL是单链表的头指针,试写出删除头结点的算法。ElemType DeleFront(LNode * & HL)参考答案一、单选题(每题2分,共20分)10.C1.B2.A 3.B 4.C 5.D 6.B 7.D8.A9.D二、填空题(每空1分,共26分)1. 联系图(或图结构)2. 尾首3. top=04. O(1) O (n)5.6.有序n-1有序序列后缀表达式(或逆波兰式)2nn-1n+12i+12i+2(i-1)/2开放定址法链接法快速归并运算题(每题6分,共24分)1.(1)(1,5,1),(3

8、,2,-1),(4,5,-2),(5,1,5),(6,3,7)(3 分)(a)(c) 图 8(e)(f)(2)三元组线性表的顺序存储表示如图7示。2. 如图8所示。3. DFS:BFS:4. 拓朴排序为:43 6 57 21四、阅读算法(每题7分,共14分)1. (1)判断n是否是素数(或质数)(2)O (汕)2. 功能为:从初始点vi出发广度优先搜索由邻接表GL所表示的图。六、编写算法(8分)ElemType DeleFront(LNode * & HL)if (HL=NULL)cerrvv空表vvendl;exit(1);LNode* p=HL;HL=HL-next;ElemType te

9、mp=p-data;delete p;return temp; 试卷十三一、选择题(30分)1. 下列程序段的时间复杂度为()。for(i=0;ivm;i+) for(j=0;jvt;j+) cij=0;for(i=0;ivm;i+) for(j=0;jvt;j+) for(k=0;kvn;k+) cij=cij+aik*bkj;(A) O(m*n*t)(B) O(m+n+t)(C) O(m+n*t)(D) O(m*t+n)2设顺序线性表中有n个数据元素,则删除表中第i个元素需要移动()个元素。(A) n-i(B) n+l -i(C) n-1-i(D) i3设F是由Tl、T2和T3三棵树组成的

10、森林,与F对应的二叉树为B, Tl、T2和T3的结点数 分别为N1、N2和N3,则二叉树B的根结点的左子树的结点数为()。(A) N1-1(B) N2-1(C) N2+N3(D) N1+N34利用直接插入排序法的思想建立一个有序线性表的时间复杂度为()。(A) 0(n)(B) O(nlog2n)(C) O(n2)(D) O(log2n)5. 设指针变量p指向双向链表中结点A,指针变量s指向被插入的结点X,则在结点A的后面插 入结点X的操作序列为()。(A) p-right=s;s-left=p; p-right-left=s; s-right=p-right;(B) s-left=p; s-r

11、ight=p-right; p-right=s; p-right-left=s;(C) p-right=s; p-right-left=s; s-left=p;s-right=p-right;(D) s-left=p; s-right=p-right; p-right-left=s; p-right=s;7设输入序列1、2、3、n经过栈作用后,输出序列中的第一个元素是n,则输出序列中的第 i个输出元素是()。(A) n-i(B) n-l-i(C) n+1 -i(D)不能确定8设散列表中有m个存储单元,散列函数H(key)= key % p,则p最好选择()。(A)小于等于m的最大奇数(B)小于

12、等于m的最大素数(C)小于等于m的最大偶数(D)小于等于m的最大合数9设在一棵度数为3的树中,度数为3的结点数有2个,度数为2的结点数有1个,度数为1的 结点数有2个,那么度数为0的结点数有()个。(A) 4(B) 5(C) 6(D) 710设完全无向图中有n个顶点,则该完全无向图中有()条边。(A) n(n-1)/2(B) n(n-1)(C) n(n+1)/2(D) (n-1)/214设有向无环图G中的有向边集合E=vl,2,则下列属于该有向 图G的一种拓扑排序序列的是()。(A) 1, 2, 3, 4(B) 2, 3, 4, 1(C) 1, 4, 2, 3 (D) 1, 2, 4, 3二、

13、填空题(30分)1. 设指针p指向单链表中结点A,指针s指向被插入的结点X,则在结点A的前面插入结点X 时的操作序列为:1) s-next=; 2) p-next=s; 3) t=p-data; 4) p-data=;5) s-data=t;2设某棵完全二叉树中有100个结点,则该二叉树中有个叶子结点。3. 设某顺序循环队列中有m个元素,且规定队头指针F指向队头元素的前一个位置,队尾指针 R指向队尾元素的当前位置,则该循环队列中最多存储队列元素。6. 设一组初始记录关键字序列为(20, 12, 42, 31, 18, 14, 28),则根据这些记录关键字构造的二叉排序树的平均查找长度是。7.

14、设一棵二叉树的中序遍历序列为BDCA,后序遍历序列为DBAC,则这棵二叉树的前序序列为。8.设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为7、19、2、6、32、3、21、10,根据这些频率作为权值构造哈夫曼树,则这棵哈夫曼树的高度为。10. 设无向图G (如右图所示),则其最小生成树上所有边的权值之和为三、判断题(20分)1. 有向图的邻接表和逆邻接表中表结点的个数不一定相等。()2. 对链表进行插入和删除操作时不必移动链表中结点。()3. 子串“ABC”在主串“AABCABCD”中的位置为2。()4. 若一个叶子结点是某二叉树的中序遍历序列的最后一个结点,则它必是该二叉树的先序遍历 序列中的最后一个结点。()6. 用邻接矩阵作为图的存储结构时,则其所占用的存储空间与图中顶点数无关而与图中边数有 关。()7. 中序遍历一棵二叉排序树可以得到一个有序的序列。()8. 入栈操作和入队列操作在链式存储结构上实现时不需要考虑栈溢出的情况。()9

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

当前位置:首页 > 学术论文 > 其它学术论文

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