2022年中国海洋大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)_第1页
2022年中国海洋大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)_第2页
2022年中国海洋大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)_第3页
2022年中国海洋大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)_第4页
2022年中国海洋大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2022年中国海洋大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、无向图G=(V,E),其中:V={a,b,c,d,e,f},E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)},对该图进行深度优先遍历,得到的顶点序列正确的是()。A.a,b,e,c,d,fB.a,c,f,e,b,dC.a,e,b,c,f,dD.a,e,d,f,c,b2、下列排序算法中,占用辅助空间最多的是()。A.归并排序B.快速排序C.希尔排序D.堆排序3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表4、已知串S='aaab',其next数组值为()。A.0123B.1123C.1231D.12115、在用邻接表表示图时,拓扑排序算法时间复杂度为()。A.O(n)B.O(n+e)C.O(n*n)D.O(n*n*n)6、下列选项中,不能构成折半查找中关键字比较序列的是()。A.500,200,450,180B.500,450,200,180C.180,500,200,450D.180,200,500,4507、下列叙述中,不符合m阶B树定义要求的是()。A.根结点最多有m棵子树B.所有叶结点都在同一层上C.各结点内关键字均升序或降序排列D.叶结点之间通过指针链接8、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历结果为()。A.CBEFDAB.FEDCBAC.CBEDFAD.不定9、一棵非空的二叉树的前序序列和后序序列正好相反,则该二叉树一定满足()。A.其中任意一个结点均无左孩子B.其中任意一个结点均无右孩子C.其中只有一个叶结点D.其中度为2的结点最多为一个10、对序列{15,9,7,8,20,-1,4}用希尔排序方法排序,经一趟后序列变为{15,-1,4,8,20,9,7}则该次采用的增量是()。A.1B.4C.3D.2二、填空题11、对单链表中元素按插入方法排序的C语言描述算法如下,其中L为链表头结点指针。请填充算法中标出的空白处,完成其功能。12、分别采用堆排序,快速排序,起泡排序和归并排序,对初态为有序的表,则最省时间的是______算法,最费时间的是______算法。13、VSAM(虚拟存储存取方法)文件的优点是:动态地______,不需要文件进行______,并能较快地______进行查找。14、关键码序列(Q,H,C,Y,Q,A,M,S,R,D,F,X),要按照关键码值递增的次序进行排序,若采用初始步长为4的希尔排序法,则一趟扫描的结果是______;若采用以第一个元素为分界元素的快速排序法,则扫描一趟的结果是______。15、设T是一棵结点值为整数的二叉排序树,A是一个任意给定的整数。在下面的算法中,free_tree(T)在对二叉排序树丁进行后序遍历时释放二又排序树T的所有结点;delete_subtree(T,A),首先在二叉排序树T中查找值为A的结点,根据查找情况分别进行如下处理:(1)若找不到值为A的结点,则返回根结点的地址(2)若找到值为A的结点,则删除以此结点为根的子树,并释放此子树中的所有结点,若值为A的结点是查找树的根结点,删除后变成空的二叉树,则返null;否则返回根结点的地址。16、设正文串长度为n,模式串长度为m,则串匹配的KMP算法的时间复杂度为______。17、模式串P=‘abaabcac’的next函数值序列为______。18、假设一个15阶的上三角矩阵A按行优先顺序压缩存储在一维数组B中,则非零元素A9.9在B中的存储位置k=______。(注:矩阵元素下标从1开始)三、判断题19、对处理大量数据的外存介质而言,索引顺序存取方法是一种方便的文件组织方法。()20、倒排文件的目的是为了多关键字查找。()21、设模式串的长度为m,目标串的长度为n,当n≈m且处理只匹配一次的模式时,朴素的匹配(即子串定位函数)算法所花的时间代价可能会更为节省。()22、稀疏矩阵压缩存储后,必会失去随机存取功能。()23、哈夫曼树度为1的结点数等于度为2和0的结点数之差。()24、二叉树是一般树的特殊情形。()25、顺序存储方式的优点是存储密度大,且插入、删除运算效率高。()26、在外部排序过程中,对长度为n的初始序列进行“置换-选择”排序时,可以得到的最大初始有序段的长度不超过n/2。()27、有向图中顶点V度等于其邻接矩阵中第V行中的1的个数。()28、B-树中所有结点的平衡因子都为零。()四、简答题29、用一个数组S(设大小为MAX)作为两个堆栈的共享空间。请说明共享方法,栈满/栈空的判断条件,并用C语言或PASCAL语言设计公用的入栈操作push(i,x),其中i为0或1,用于表示栈号,x为入栈值。30、请写出应填入下列叙述中()内的正确答案。排序有各种方法,如插入排序、快速排序、堆排序等。设一数组中原有数据如下:15,13,20,18,12,60。下面是一组用不同排序方法进行一遍排序后的结果。()排序的结果为:12,13,15,18,20,60()排序的结果为:13,15,18,12,20,60()排序的结果为:13,15,20,18,12,60()排序的结果为:12,13,20,18,15,6031、已知图的邻接矩阵为:当用邻接表作为图的存储结构,且邻接点都按序号从大到小排列时,试写出:(1)以顶点V1为出发点的唯一的深度优先遍历序列。当用邻接表作为图的存储结构,且邻接点都按序号从大到小排列时,试写出:(1)以顶点V1为出发点的唯一的深度优先遍历序列。(2)以顶点V1为出发点的唯一的广度优先遍历序列。(3)该图唯一的拓扑有序序列。五、算法设计题32、已知一棵二叉树的前序遍历序列和中序遍历序列分别存于两个一维数组中,试编写算法建立该二叉树的二叉链表。33、请编写完整的程序。如果矩阵A中存在这样的一个元素A[i,j]满足条件:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。请编程计算出m*n的矩阵A的所有马鞍点。34、已知二叉树T,试写出复制该二叉树的算法(t→T)。35、编写算法,求二叉树的宽度。

参考答案一、选择题1、【答案】D2、【答案】A3、【答案】D4、【答案】A5、【答案】B6、【答案】A7、【答案】D8、【答案】A9、【答案】C10、【答案】B二、填空题11、【答案】(1)L->next=NULL//置空链表,然后将原链表结点逐个插入到有序表中(1) p!=NULL//当链表尚未到尾,p为工作指针(2) q!=NULL//查P结点在链表中的插入位置,这时q是工作指针(4)p->next=r->next//将P结点链入链表中(5)r->next=p//r是q的前驱,u是下个待插入结点的指针12、【答案】起泡;快速13、【答案】分配和释放存储空间;重组;对插入的记录@14、【答案】(Q,A,C,S,Q,D,F,X,R,H,M,Y);(F,H,C,D,a,A,M,Q,R,S,Y,X)15、【答案】free(T);q&&q->data!=A;q=q->rchild;p->lchild=null;p->rchild=null16、【答案】O(m+n)17、【答案】0112231218、【答案】93三、判断题19、【答案】×20、【答案】√21、【答案】√22、【答案】√23、【答案】×24、【答案】×25、【答案】×26、【答案】×27、【答案】×28、【答案】√四、简答题29、答:两栈共享一向量空间(一维数组),栈底设在数组的两端,两栈顶相邻时为栈满。设共享数组为S[MAX],则一个栈顶指针为一l,另一个栈顶指针为MAX时,栈为空。用C语言写的入栈操作push(i,x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论