您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 数据结构试题及答案修2
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.一个栈的输入序列为123,则下列序列中不可能是栈的输出序列的是()A.231B.321C.312D.1235.AOV网是一种()。A.有向图B.无向图C.无向无环图D.有向无环图7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。A.值B.函数C.指针D.引用8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。A.行号B.列号C.元素值D.非零元素个数二、填空题(每空1分,共28分)1.数据结构是指数据及其相互之间的______________。当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。2.队列的插入操作是在队列的___尾______进行,删除操作是在队列的____首______进行。3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是___top==0_____________。4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。7.二叉树是指度为2的____________________树。一棵结点数为N的二叉树,其所有结点的度的总和是_____________。8.对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个______________。对一棵由算术表达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的__________________。9.对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数为_____________个,其中_______________个用于指向孩子,_________________个指针是空闲的。10.若对一棵完全二叉树从0开始进行结点的编号,并按此编号把它顺序存储到一维数组A中,即编号为0的结点存储到A[0]中。其余类推,则A[i]元素的左孩子元素为________,右孩子元素为2_______________,双亲元素为____________。11.在线性表的散列存储中,处理冲突的常用方法有________________________和_____________________________两种。三、运算题(每题6分,共24分)1.已知一个65稀疏矩阵如下所示,试:(1)写出它的三元组线性表;(2)给出三元组线性表的顺序存储表示。2.设有一个输入数据的序列是{46,25,78,62,12,80},试画出从空树起,逐个输入各个数据而生成的二叉搜索树。3.对于图6所示的有向图若存储它采用邻接表,并且每个顶点邻接表中的边结点都是按照终点序号从小到大的次序链接的,试写出:从顶点①出发进行深度优先搜索所得到的深度优先生成树;从顶点②出发进行广度优先搜索所得到的广度优先生成树;4.已知一个图的顶点集V和边集E分别为:V={1,2,3,4,5,6,7};E={2,1,3,2,3,6,4,3,4,5,4,6,5,1,5,7,6,1,6,2,6,5};若存储它采用邻接表,并且每个顶点邻接表中的边结点都是按照终点序号从小到大的次序链接的,按主教材中介绍的拓朴排序算法进行排序,试给出得到的拓朴排序的序列。四、阅读算法(每题7分,共14分)1.intPrime(intn){inti=1;intx=(int)sqrt(n);while(++i=x)if(n%i==0)break;if(ix)return1;elsereturn0;}(1)指出该算法的功能;(2)该算法的时间复杂度是多少?2.写出下述算法的功能:voidAJ(adjlistGL,inti,intn){QueueQ;InitQueue(Q);couti'';visited[i]=true;007000000520000000100000010000图63QInsert(Q,i);while(!QueueEmpty(Q)){intk=QDelete(Q);edgenode*p=GL[k];while(p!=NULL){intj=p-adjvex;if(!visited[j]){coutj'';visited[j]=true;QInsert(Q,j);}p=p-next;}}}HL是单链表的头指针,试写出删除头结点的算法。ElemTypeDeleFront(LNode*&HL)参考答案一、单选题(每题2分,共20分)1.B2.A3.B4.C5.D6.B7.D8.A9.D10.C二、填空题(每空1分,共26分)1.联系图(或图结构)2.尾首3.top==04.O(1)O(n)5.128441086.337.有序n-18.有序序列后缀表达式(或逆波兰式)9.2nn-1n+110.2i+12i+2(i-1)/211.开放定址法链接法12.快速归并三、运算题(每题6分,共24分)1.(1)((1,5,1),(3,2,-1),(4,5,-2),(5,1,5),(6,3,7))(3分)65515132-145-2515637图74(2)三元组线性表的顺序存储表示如图7示。2.如图8所示。3.DFS:BFS:4.拓朴排序为:4365721四、阅读算法(每题7分,共14分)1.(1)判断n是否是素数(或质数)(2)O(n)2.功能为:从初始点vi出发广度优先搜索由邻接表GL所表示的图。六、编写算法(8分)ElemTypeDeleFront(LNode*&HL){if(HL==NULL){cerr空表endl;exit(1);}LNode*p=HL;HL=HL-next;ElemTypetemp=p-data;deletep;returntemp;}试卷十三一、选择题(30分)1.下列程序段的时间复杂度为()。for(i=0;im;i++)for(j=0;jt;j++)c[i][j]=0;for(i=0;im;i++)for(j=0;jt;j++)for(k=0;kn;k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];(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是由T1、T2和T3三棵树组成的森林,与F对应的二叉树为B,T1、T2和T3的结点数分别为N1、N2和N3,则二叉树B的根结点的左子树的结点数为()。(A)N1-1(B)N2-1(C)N2+N3(D)N1+N3图854.利用直接插入排序法的思想建立一个有序线性表的时间复杂度为()。(A)O(n)(B)O(nlog2n)(C)O(n2)(D)O(1og2n)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-right=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-1-i(C)n+l-i(D)不能确定8.设散列表中有m个存储单元,散列函数H(key)=key%p,则p最好选择()。(A)小于等于m的最大奇数(B)小于等于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={1,2,2,3,3,4,1,4},则下列属于该有向图G的一种拓扑排序序列的是()。(A)1,2,3,4(B)2,3,4,1(C)1,4,2,3(D)1,2,4,3二、填空题(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.设一棵二叉树的中序遍历序列为BDCA,后序遍历序列为DBAC,则这棵二叉树的前序序列为____________________。68.设用于通信的电文仅由8个字母组成,字母在电文中出现的频率分别为7、19、2、6、32、3、21、10,根据这些频率作为权值构造哈夫曼树,则这棵哈夫曼树的高度为________________。10.设无向图G(如右图所示),则其最小生成树上所有边的权值之和为_________________。三、判断题(20分)1.有向图的邻接表和逆邻接表中表结点的个数不一定相等。()2.对链表进行插入和删除操作时不必移动链表中结点。()3.子串“ABC”在主串“AABCABCD”中的位置为2。()4.若一个叶子结点是某二叉树的中序遍历序列的最后一个结点,则它必是该二叉树的先序遍历序列中的最后一个结点。()6.用邻接矩阵作为图的存储结构时,则其所占用的存储空间与图中顶点数无关而与图中边数有关。()7.中序遍历一棵二叉排序树可以得到一个有序的序列。()8.入栈操作和入队列操作在链式存储结构上实现时不需要考虑栈溢出的情况。()9.顺序表查找指的是在顺序存储结构上进行查找。()10.堆是完全二叉树,完全二叉树不一定是堆。()五、算法设计题(20分)1.设计计算二叉树中所有结点值之和的算法。2.设计将所有奇数移到所有偶数之前的算法。3.设计判断单链表中元素是否是递增的算法。参考答案一、选择题1.A2.A3.A4.C5.D6.D7.C8.B9.C10.A11.C12.C13.D14.A15.A二、填空题1.p-next,s-data2.503.m-14.6,85.快速,堆6.19/77.CBDA8.69.(24,65,33,80,70,56,48)10.8
本文标题:数据结构试题及答案修2
链接地址:https://www.777doc.com/doc-2334286 .html