您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 山东大学数据结构模拟试题
1/55山东大学数据结构一)一、单选题每题2分,共20分)1.栈和队列的共同特点是(。A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2.用链接方式存储的队列,在进行插入运算时(.A.仅修改头指针B.头、尾指针都要修改C.仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?(A.队列B.栈C.线性表D.二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10,A[2][2]存放位置在676(10,每个元素占一个空间,问A[3][3](10存放在什么位置?脚注(10表示用10进制表示。b5E2RGbCAPA.688B.678C.692D.6965.树最适合用来表示(。A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为(.A.2k-1B.2K+1C.2K-1D.2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为(p1EanqFDPwA.1,2,3B.9,5,2,3C.9,5,3D.9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A.O1)B.On)C.O1og2n)D.On2)9.对于线性表7,34,55,25,64,46,20,10)进行散列存储时,若选用HK)=K%9作为散列函数,则散列地址为1的元素有)个,DXDiTa9E3dA.1B.2C.3D.42/5510.设有6个结点的无向图,该图至少应有(条边才能确保是一个连通图。A.5B.6C.7D.8二、填空题每空1分,共26分)1.通常从四个方面评价算法的质量:_________、_________、_________和_________。RTCrpUDGiT2.一个算法的时间复杂度为(n3+n2log2n+14n/n2,其数量级表示为________。3.假定一棵树的广义表表示为AC,DE,F,G),HI,J)),则树中所含的结点数为_-_________个,树的深度为___________,树的度为_________。5PCzVD7HxA4.后缀算式923+-102/-的值为__________。中缀算式3+4X)-2Y/3对应的后缀算式为_______________________________。jLBHrnAILg5.若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。在这种存储结构中,n个结点的二叉树共有________个指针域,其中有________个指针域是存放了地址,有________________个指针是空指针。xHAQX74J0X6.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别有_______个和________个。LDAYtRyKfE7.AOV网是一种___________________的图。8.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。Zzz6ZB2Ltk9.假定一个线性表为(12,23,74,55,63,40,若按Key%4条件进行划分,使得同一余数的元素成为一个子表,则得到的四个子表分别为____________________________、___________________、_______________________和__________________________。dvzfvkwMI110.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。11.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为________。rqyn14ZNXI12.在快速排序、堆排序、归并排序中,_________排序是稳定的。三、计算题每题6分,共24分)1.在如下数组A中链接存储了一个线性表,表头指针为A[0].next,试写出该线性表。A01234567data605078903440next35720412.请画出下图的邻接矩阵和邻接表。3/553.已知一个图的顶点集V和边集E分别为:V={1,2,3,4,5,6,7}。E={(1,23,(1,35,(1,48,(2,510,(2,36,(3,415,(3,512,(3,69,(4,64,(4,720,(5,618,(6,725}。用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。4.画出向小根堆中加入数据4,2,5,8,3时,每加入一个数据后堆的变化。四、阅读算法每题7分,共14分)1.LinkListmynote(LinkListL{//L是不带头结点的单链表的头指针if(L&&L-next{q=L;L=L-next;p=L;S1:while(p-nextp=p-next;S2:p-next=q;q-next=NULL;}returnL;}请回答下列问题:1)说明语句S1的功能;2)说明语句组S2的功能;3)设链表表示的线性表为a1,a2,…,an),写出算法执行后的返回值所表示的线性表。2.voidABC(BTNode*BT{ifBT{ABC(BT-left。ABC(BT-right。coutBT-data''。}}该算法的功能是:五、算法填空共8分)4/55二叉搜索树的查找——递归算法:boolFind(BTreeNode*BST,ElemType&item{if(BST==NULLreturnfalse。//查找失败else{if(item==BST-data{item=BST-data。//查找成功return___________。}elseif(itemBST-datareturnFind(______________,item。elsereturnFind(_______________,item。}//if}六、编写算法共8分)统计出单链表HL中结点的值等于给定值X的结点数。intCountX(LNode*HL,ElemTypex数据结构试卷二)一、选择题(24分1.下面关于线性表的叙述错误的是)。(A线性表采用顺序存储必须占用一片连续的存储空间(B线性表采用链式存储不必占用一片连续的存储空间(C线性表采用链式存储便于插入和删除操作的实现(D线性表采用顺序存储便于插入和删除操作的实现2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有)个空指针域。EmxvxOtOco(A2m-1(B2m(C2m+1(D4m5/553.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为)。SixE2yXPq5(AR-F(BF-R(C(R-F+M%M(D(F-R+M%M4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为)。6ewMyirQFL(ABADC(BBCDA(CCDAB(DCBDA5.设某完全无向图中有n个顶点,则该完全无向图中有)条边。(An(n-1/2(Bn(n-1(Cn2(Dn2-16.设某棵二叉树中有2000个结点,则该二叉树的最小高度为)。(A9(B10(C11(D127.设某有向图中有n个顶点,则该有向图对应的邻接表中有)个表头结点。(An-1(Bn(Cn+1(D2n-18.设一组初始记录关键字序列(5,2,6,3,8,以第一个记录关键字5为基准进行一趟快速排序的结果为)。kavU42VRUs(A2,3,5,8,6(B3,2,5,8,6(C3,2,5,6,8(D2,3,6,5,8二、填空题(24分1.为了能有效地应用HASH查找技术,必须解决的两个问题是____________________和__________________________。y6v3ALoS892.下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。typedefstruct{ints[100]。inttop。}sqstack。voidpush(sqstack&stack,intx{6/55if(stack.top==m-1printf(“overflow”。else{____________________。_________________。}}3.中序遍历二叉排序树所得到的序列是___________序列填有序或无序)。4.快速排序的最坏时间复杂度为___________,平均时间复杂度为__________。5.设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树中度数为2的结点数为_________;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有_______个空指针域。M2ub6vSTnP6.设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e=_______。7.设一组初始记录关键字序列为(55,63,44,38,75,80,31,56,则利用筛选法建立的初始堆为___________________________。0YujCfmUCw8.已知一有向图的邻接表存储结构如下:从顶点1出发,DFS遍历的输出序列是,BFS遍历的输出序列是三、应用题(36分1.设一组初始记录关键字序列为(45,80,48,40,22,78,则分别给出第4趟简单选择排序和第4趟直接插入排序后的结果。eUts8ZQVRd2.设指针变量p指向双向链表中结点A,指针变量q指向被插入结点B,要求给出在结点A的后面插入结点B的操作序列设双向链表中结点的两个指针域分别为llink和rlink)。sQsAEJkW5T3.设一组有序的记录关键字序列为(13,18,24,35,47,50,62,83,90,查找方法用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。GMsIasNXkA4.设一棵树T中边的集合为{(A,B,(A,C,(A,D,(B,E,(C,F,(C,G},要求用孩子兄弟表示法二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树。TIrRGchYzg7/555.设有无向图G,要求给出用普里姆算法构造最小生成树所走过的边的集合。6.设有一组初始记录关键字为(45,80,48,40,22,78,要求构造一棵二叉排序树并给出构造过程。7EqZcWLZNX四、算法设计题(16分1.设有一组初始记录关键字序列K1,K2,…,Kn),要求设计一个算法能够在O(n的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。lzq7IGf02E2.设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链式存储结构表示。数据结构试卷三)一、选择题(每题1分,共20分1.设某数据结构的二元组形式表示为A=(D,R,D={01,02,03,04,05,06,07,08,09},R={r},r={01,02,01,03,01,04,02,05,02,06,03,07,03,08,03,09},则数据结构A是)。zvpgeqJ1hk(A线性结构(B树型结构(C物理结构(D图型结构2.下面程序的时间复杂为)fori=1,s=0;i=n;i++){t=1;for(j=1;j=i;j++t=t*j;s=s+t;}NrpoJac3
本文标题:山东大学数据结构模拟试题
链接地址:https://www.777doc.com/doc-3209586 .html