合肥学院2013至2014学年第2学期数据结构与算法设计课程考试(B)卷系级专业学号姓名题号一二三四五六七八九十总分得分阅卷一、选择题:(2分×15=30分)1.下面关于线性表的叙述错误的是()。A、线性表采用顺序存储必须占用一片连续的存储空间B、线性表采用链式存储不必占用一片连续的存储空间C、线性表采用链式存储便于插入和删除操作的实现D、线性表采用顺序存储便于插入和删除操作的实现2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。A、2m-1B、2mC、2m+1D、4m3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。A、R-FB、F-RC、(R-F+M)%MD、(F-R+M)%M4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。A、BADCB、BCDAC、CDABD、CBDA5.设某完全无向图中有n个顶点,则该完全无向图中有()条边。A、n(n-1)/2B、n(n-1)C、n2D、n2-16.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。A、9B、10C、11D、127.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。A、n-1B、nC、n+1D、2n-18.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。A、2,3,5,8,6B、3,2,5,8,6C、3,2,5,6,8D、2,3,6,5,89.设散列表长m=14,散列函数H(K)=K%11,已知表中已有4个结点:r(15)=4;r(38)=5;r(61)=6;r(84)=7,其他地址为空,如用二次探测再散列处理冲突,关键字为49的结点地址是()。A、8B、3C、5D、9大题得分装订线命题教师胡春玲共4页,第1页10.设某数据结构的二元组形式表示为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是()。A、线性结构B、树型结构C、物理结构D、图型结构11.下面程序的时间复杂为()。for(i=1,s=0;i=n;i++){t=1;for(j=1;j=i;j++)t=t*j;s=s+t;}A、O(n)B、O(n2)C、O(n3)D、O(n4)12.设二叉排序树中有n个结点,则在二叉排序树的平均平均查找长度为()。A、O(1)B、O(log2n)C、O(n)D、O(n2)13.设无向图G中有n个顶点e条边,则其对应的邻接表中的表头结点和表结点的个数分别为()。A、n,eB、e,nC、2n,eD、n,2e14.设某二叉树中度数为0的结点数为N0,度数为1的结点数为Nl,度数为2的结点数为N2,则下列等式成立的是()。A、N0=N1+1B、N0=Nl+N2C、N0=N2+1D、N0=2N1+l15.设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过()。A、log2n+1B、log2n-1C、log2nD、log2(n+1)二、填空题:(2分×10=20分)1.设顺序线性表中有n个数据元素,则删除第i个位置上的数据元素需要移动表中元素个数为。2.head指向单链表的表头,p指向单链表的表尾结点,则执行p-next=head后,该单链表构成链表。3.设某无向图G中有n个顶点,用邻接矩阵A作为该图的存储结构,则顶点i和顶点j互为邻接点的条件是。4.设二叉排序树的高度为h,则在该树中查找关键字key最多需要比较次。5.设一棵完全二叉树有128个结点,则该完全二叉树的深度为,有个叶子结点。6.设一组初始记录关键字序列(k1,k2,……,kn)是小根堆,则对i=1,2,…,n/2而言满足的条件为。7.设完全有向图中有n个顶点,则该完全有向图中共有条有向条。8.解决散列表冲突的两种方法是和。三、应用题:(5分×7=35分)1.在如下数组A中链接存储了一个线性表,表头指针为A[0].next,试写出该线性表。A01234567data605078903440next35720412.设一组有序的记录关键字序列为(13,18,24,35,47,50,62,83,90),查找方法用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。大题得分大题得分小题得分小题得分共4页,第2页3.下图所示的森林:(1)求树(a)的先根序列和后根序列;(2)求森林先序序列和中序序列;3)将此森林转换为相应的二叉树;ABCDEFGHIJK(a)(b)4、请画出下图的邻接矩阵和邻接表。5.已知一个图的顶点集V和边集E分别为:V={1,2,3,4,5,6,7};E={(1,2)3,(1,3)5,(1,4)8,(2,5)10,(2,3)6,(3,4)15,(3,5)12,(3,6)9,(4,6)4,(4,7)20,(5,6)18,(6,7)25};用克鲁斯卡尔算法得到最小生成树,试写出在最小生成树中依次得到的各条边。6.画出向小根堆中加入数据4,2,5,8,3时,每加入一个数据后堆的变化。小题得分小题得分小题得分小题得分装订线共4页,第3页7.已知二叉树的前序遍历序列是AEFBGCDHIKJ,中序遍历序列是EFAGBCHKIJD,画出此二叉树,并画出它的后序线索二叉树。四、算法设计题:(15分)1.设计判断单链表中元素是否是递增的算法。(7分)2.设计一个在链式存储结构上统计二叉树中结点个数的算法。(8分)小题得分大题得分小题得分小题得分共4页,第4页