山东开放大学数据结构期末考试复习题及参考答案.docx

上传人:李司机 文档编号:4336629 上传时间:2023-04-18 格式:DOCX 页数:24 大小:59.71KB
返回 下载 相关 举报
山东开放大学数据结构期末考试复习题及参考答案.docx_第1页
第1页 / 共24页
山东开放大学数据结构期末考试复习题及参考答案.docx_第2页
第2页 / 共24页
山东开放大学数据结构期末考试复习题及参考答案.docx_第3页
第3页 / 共24页
山东开放大学数据结构期末考试复习题及参考答案.docx_第4页
第4页 / 共24页
山东开放大学数据结构期末考试复习题及参考答案.docx_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《山东开放大学数据结构期末考试复习题及参考答案.docx》由会员分享,可在线阅读,更多相关《山东开放大学数据结构期末考试复习题及参考答案.docx(24页珍藏版)》请在三一办公上搜索。

1、数据结构期末考试复习题注:找到所考试题直接看该试题所有题目和答案即可。查找按键:Ctrl+F超越高度一、单选题1、当两个元素出现逆序的时候就交换位置,这种排序方法称为()0A、插入排序B、交换排序C、选择排序D、归并排序正确答案:B2、有关线性表的正确说法是()oA、每个元素都有一个直接前驱和一个直接后继B、线性表至少要求一个元素C、表中的元素必须按由小到大或由大到下排序D、除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继正确答案:D3、在下列排序方法中,关键字比较的次数与记录的初始排列秩序无关的是()oA、希尔排序B、冒泡排序C、插入排序D、选择排序正确答案:D4、

2、串是()。A、不少于一个字母的序列B、任意个字母的序列C、不少于一个字符的序列D、有限个字符的序列正确答案:D5、向顺序栈中压入新元素时,应当()oA、先移动栈顶指针,再存入元素B、先存入元素,再移动栈顶指针C、先后次序无关紧要D、同时进行正确答案:A6、有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()oA、29/10B、31/10C、26/10D、29户正确答案:A7、已知一个有序表为11,22,33,44,55,66,77,88,99,则顺序查找元素55需要比较()次。A、3B、4C、5D、6正确答案:C8、从未排序序列中依次取出元素与己经排好

3、序的序列中的元素作比较。将其放入已排序序列的正确的位置上,此方法称为()A、插入排序B、选择排序C、交换排序D、归并排序正确答案:A9、对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则所有顶点邻接表中的结点总数为()。A、nB、eC、2nD、2e正确答案:D10、在一个栈顶指针为top的链栈中,将一个P指针所指的结点入栈,应执行()。A、top-net=p;B、p-next=top-next;top-next=p;Cp-next=top;top=p;Dp-net=top-net;top=top-next;正确答案:C11、在一个链队中,假设f和r分别为队头和队尾指针,则插入S所指结点

4、的运算为()。A、f-next=s;f=s;B、r-next=s;r=s;Cs-next=r;r=s;D、s-next=f;f=s;正确答案:B12、一个队列的入队序列是1,2,3,4o则队列的输出序列是()。A、 4,3,2,1B、 1,2,3,4C、 1,4,3,2D、 3,2,4,1正确答案:B13、带头结点的链表为空的判断条件是()(设头指针为head)。A、head=NULLBxhead-next=NULLCnhead-next=headD、head!=NLL正确答案:B14、在一个单链表中P所指结点之后插入一个S所指的结点时,可执行()。A、p-net=s;sonext=pnext

5、B、p-next=snet;Cp=s-net;Ds-next=p-next;p-next=s;正确答案:D15、一个队列的入队顺序是a,b,c,d,则离队的顺序是()oA、a,d,c,bB、a,b,c,dCd,c,b,aD、c,b,d,a正确答案:B16 .数据结构中,与所使用的计算机无关的是数据的()。A.存储结构B.物理结构C.逻辑结构D.物理和存储结构正确答案:C17 .已知一个有序表为11,22,33,44,55,66,77,88,99,则顺序查找元素55需要比较()次。A.3B.4C.5D.6正确答案:C18 .图的深度优先遍历算法类似于二叉树的()遍历。A冼序B.中序C后序D.层次

6、正确答案:A19 .常对数组进行的两种基本操作是()A.建立与删除B.索引和修改C.查找和修改D.查找与索引正确答案:C20.若串S=English”,其子串的个数是()。A.9B.16C.36D.28正确答案:D二、填空题1、哈夫曼树又称为正确答案:第1空:最优二叉树2、结点的度是指结点所拥有的。正确答案:第1空:子树数目或后继结点数3、图常用的两种存储结构是和正确答案:第1空:邻接矩阵第2空:邻接表4、将树中结点赋上一个有着某种意义的实数,称此实数为该结点的。正确答案:第1空:权5、在一个带权图中,两顶点之间的最段路径最多经过条边。正确答案:第1空:n-16、关键字是记录某个,用它可以识别

7、、确定一个记录。正确答案:第1空:数据项的值7、广义表A(azb,c),(d,e,f)的表尾为。正确答案:第1空:(dzezf)8、循环队列队头指针在队尾指针位置,队列是“满”状态正确答案:第1空:下一个9、查找是一种最简单的查找方法。正确答案:第1空:顺序10、为了实现图的深度优先搜索遍历,其非递归的算法中需要使用的一个辅助数据结构为。正确答案:第1空:栈11、树中度大于。的结点称作或。答案:分支结点非终端结点12、在队列的顺序存储结构中,当插入一个新的队列元素时,尾指,当删除一个元素队列时,头指针。答案:增1增113、具有m个叶子结点的哈夫曼树共有结点。答案:(l)2m-l14、冒泡排序是

8、一种比较简单的方法。答案:交换排序15、在图中,任何两个数据元素之间都可能存在关系,因此图的数据元素之间是一种的关系答案:多对多三、简答题1、简述栈和一般线性表的区别正确答案:栈是一种先进后出的线性表,栈的插入和删除操作都只能在栈顶进行,而一般的线性表可以在线性表的任何位置进行插入和删除操作。2、写出以下运算式的后缀算术运算式:(A+B)*CD/(E+F)+G正确答案:AB+C*DEF+-G+3、编写顺序查找算法。顺序查找算法如下:intsearch(NODEa,intnzintk)/*在a0an-l中顺序查找关键字等于k的记录。查找成功时返回该记录的下标,失败时返回-1*/)intsearc

9、h(NODEaJntn,intk)/*在aan-l中顺序查找关键字等于k的记录。查找成功时返回该记录的下标,失败时返回;*/inti=0;WhiIe(iO)个元素al,a2aian的有限序列,其中ai或者是原子或者是一个广义表。所以,广义表是一种递归数据结构,而线性表没有这种特性,线性表可以看成广义表的特殊情况,当ai都是原子时,广义表退化成线性表。四、资料题1、己知无向图G描述如下:G=(V,E)V=V1,V2,V3,V4,V5E=(VI,V2),(VI,V4),(V2,V4),(V3,V4),(V2,V5),(V3,V4),(V3,V5)(1)画出G的图示;(2)然后给出G的邻接矩阵和邻接

10、表;(3)写出每个顶点的度。正确答案:第1空:G的图示第2空:0第3空:VI、V2、V3、V4、V5的度分别为:2,3,2,3,22、下面函数的功能是返回二叉树BT中值为X的结点所在的层号,请在划有横线的地方填写合适内容。intNodeLevel(structBinTreeNode*BlcharX)(If(BT=NULL)returnO;/*空树的层号为O*/elseif(BT-data=X)return1;/*根结点的层号为1*/*向子树中查找X结点*/elseintcl=NodeLevel(BT-left,X);if(cl=l)_(l);intc2=(2);if_(3);若树中不存在X结点

11、则返回OelsereturnO;)正确答案:第1空:returncl+1第2空:NodeLevel(BT-rightzX)第3空:(c2=l)returnc2+l2022学年9月份考试数据结构复习题一、单选题1、数据结构中,与所使用的计算机无关的是数据的()oA、存储结构B、物理结构C、逻辑结构D、物理和存储结构正确答案:C2、在下列排序方法中,关键字比较的次数与记录的初始排列秩序无关的是()oA、希尔排序B、冒泡排序C、插入排序D、选择排序正确答案:D3、在一个单链表中,p、q分别指向表中两个相邻的结点,且q所指结点是P所指结点的直接后继,现要删除q所指结点,可用语句()。A、p=q-net

12、Bp-next=qC、p-next=q-nextD、q-next=NULL正确答案:C4、已知一个有序表为11,22,33,44,55,66,77,88,99,则顺序查找元素55需要比较()次。A、3B、4Cx5D、6正确答案:C5、从未排序序列中依次取出元素与已经排好序的序列中的元素作比较。将其放入已排序序列的正确的位置上,此方法称为()A、插入排序B、选择排序C、交换排序D、归并排序正确答案:A6、图的深度优先遍历算法类似于二叉树的()遍历。A、先序B、中序C、后序D、层次正确答案:A7、二叉树第k层上最多有()个结点。A、2kB、C、-1D、2正确答案:B8、常对数组进行的两种基本操作是

13、(),A、建立与删除B、索引和修改C、查找和修改D、查找与索引正确答案:C9、若串S=English”,其子串的个数是()oA、9B、16C、36D、28正确答案:D10、一个队列的入队顺序是a,b,c,d,则离队的顺序是()。A、a,d,c,bB、a,b,c,dCd,c,b,aD、c,b,d,a正确答案:B11、设有一个长度为n的顺序表,要删除第i个元素移动元素的个数为()。An-i+1B、n-iC、n-i-1D、i正确答案:B12、顺序查找方法适合于存储结构为()的线性表。A、散列存储B、索引存储C、散列存储或索引存储D、顺序存储或链接存储正确答案:D13、利用3、6、8、12这四个值作为

14、叶子结点的权,生成一棵哈夫曼树,该树中所有叶子的最长带权路径长度为()。A、18B、16C、12D、30正确答案:A14、设某一二叉树先序遍历为abdec,中序遍历为dbeac,则该二叉树后序遍历的顺序是()。A、abdecdebacCdebcaD、abedc正确答案:C15、下列有关二叉树的说法正确的是()。A、二叉树中度为0的结点的个数等于度为2的结点的个数加1B、二叉树中结点个数必大于0C、完全二叉树中,任何一个结点的度,或者为0或者为2D、二叉树的度是2正确答案:A16、算法的时间复杂度与()有关。A、所使用的计算机B、计算机的操作系统C、算法本身D、数据结构正确答案:C17、算法分析

15、的目的是()。A、找出数据结构的合理性B、研究算法中的输入和输出的关系C、分析算法的效率以求改进分析算法的易懂性和文档性D、分析算法的易懂性和文档性正确答案:C18、链表不具有的特点是()。A、可随机访问任一元素B、插入删除不需要移动元素C、不必事先估计存储空间D、所需空间与线性表长度成正比正确答案:A19、在图的存储结构表示中,表示形式唯一的是()。A、nB、n+1C、n-1D、n/2正确答案:C20、对于顺序存储的有序表5,12,20,26,37,42,46,50,64,若采用折半查找,则查找元素26的比较次数是()oA、2B、3C、4D、5正确答案:C21、以下陈述中正确的是(),A、串

16、是一种特殊的线性表B、串的长度必须大于零C、串中元素只能是字母D、空串就是空白串正确答案:A22、设有两个串P和q,其中q是P的子串,q在P中首次出现的位置的算法称为()。A、求子串B、连接C、匹配D、求串长正确答案:C23、串是()A、不少于一个字母的序列B、任意个字母的序列C、不少于一个字符的序列D、有限个字符的序列正确答案:D解析:24、串的长度是指()。A、串中所含不同字母的个数B、串中所含字符的个数C、串中所含不同字符的个数D、串中所含非空格字符的个数正确答案:B25、两个字符串相等的条件是()oA、两串的长度相等B、两串包含的字符相同C、两串的长度相等,并且两串包含的字符相同D、两

17、串的长度相等,并且对应位置上的字符相同正确答案:D二、填空题工、树中度大于。的结点称作或正确答案:第1空:分支结点第2空:非终端结点2、哈夫曼树又称为正确答案:第1空:最优二叉树3、在一棵树中,每个结点的子树的根或者说每个结点的称为该结点的孩子结点,简称为孩子。正确答案:第1空:后继结点4、树中度等于。的结点称作或。正确答案:第1空:叶子结点第2空:终端结点5、图常用的两种存储结构是和正确答案:第1空:邻接矩阵第2空:邻接表6、在队列的顺序存储结构中,当插入一个新的队列元素时,尾指针,当删除一个元素队列时,头指针。正确答案:第1空:增1第2空:增17、在对一组记录(50,40,95,20,15

18、,70,60,45,80)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置需要比较次。正确答案:第1空:38、关键字是记录某个,用它可以识别、确定一个记录。正确答案:第1空:数据项的值9、具有m个叶子结点的哈夫曼树共有结点。正确答案:第1空:2m-l10、串是一种特殊的线性表,其特殊性表现在组成串的数据元素都是。正确答案:第1空:字符11、在一个单向链表中,要删除P所指结点,己知q指向P所指结点的前驱结点。则可以用操作o正确答案:第1空:q-next=p-next12、冒泡排序是一种比较简单的方法。正确答案:第1空:交换排序13、单向循环链表是单向链表的一种扩充,当单向链表

19、带有头结点时,把单向链表中尾结点的指针域由空指针改为;当单向链表不带头结点时,则把单向链表中尾结点的指针域由空指针改为指向。正确答案:第1空:头结点的指针第2空:指向第一个结点的指针14、在图中,任何两个数据元素之间都可能存在关系,因此图的数据元素之间是一种的关系正确答案:第1空:多对多15、数据结构中的数据元素存在多对多的关系称为一结构。正确答案:第1空:图状结构;图结构16、分块查找又称为,它是一种介于顺序查找和折半查找之间的查找方法。正确答案:第一空:索引顺序查找17、在有序表Al.18中,采用二分查找算法查找元素值等于A17的元素,所比较过的元素的下标依次是O正确答案:第一空:9,14

20、,16,1718、栈是限定在表的一端进行插入和删除操作的线性表,又称为.正确答案:第一空:后进先出表19、在队列的顺序存储结构中,当插入一个新的队列元素时,尾指针,当删除一个元素队列时,头指针。正确答案:第一空:增1第二空:增120、广义表A(a,b,c),(d,e,f)的表尾为。正确答案:第一空:(d,e,f)三、简答题1、编写顺序查找算法。顺序查找算法如下:intsearch(NODEazintnzintk)/*在a0an-l中顺序查找关键字等于k的记录。查找成功时返回该记录的下标,失败时返回;*/)正确答案:顺序查找算法如下:intsearch(NODEazintnzintk)/*在a0

21、an-l中顺序查找关键字等于k的记录。查找成功时返回该记录的下标,失败时返回;*/(inti=0;while(idata=X)return1;/*根结点的层号为1*/*向子树中查找X结点*/elseintcl=NodeLevel(BT-left,X);if(d=l)(1);intc2=(2);if一(3);若树中不存在X结点则返回OelsereturnO;)正确答案:第一空:returncl+1第二空:NOdeLeVeI(BT-right,X)第三空:(c2=l)returnc2+l2、阅读下面算法,在划线处填入正确的代码内容intwrite(LinkQueue*q)QueueNode*p;i

22、f(q-front=q-rear)/*队空*/printf(underflow,);exit(O);)while(q-front-next!=NULL)p=q-front-next;(1)printf(“%4d”,p-data);(2)(3) ;*队空时,头尾指针指向头结点*/正确答案:第一空:q-front-next=p-next;第二空:free(p);第三空:q-rear=q-front一、单选题1、一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的存储地址为100,则该数组的首地址是()。A、 64B、 28C、 70D、 90答案:C2、下述几种排序方法中,平均情况下占用

23、内存量最大的是()方法。A、插入排序B、选择排序C、快速排序D、归并排序答案:D3、在数据结构中,从逻辑上可以把数据结构分为()。A、 动态结构和静态结构B、 紧凑结构和非紧凑结构C、 线性结构和非线性结构D、 内部结构和外部机构答案:C4、在一个有像图中,所有顶点的入度之和等于所有顶点的出度之和的(倍。A、邻接矩阵表示法B邻接表表示法C、 逆邻接表表示法D、 邻接表和逆邻接表答案:B5、采用顺序查找方法查找长度为n的线性表时,每个元素的平均查找长度为()OA、 nB、 n/2C、(n+l)2D、(n-l)2答案:C6、一个存储结点存储一个()。A、 数据项B、 数据元素C、 数据结构D、 数

24、据类型答案:B7、对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则所有顶点邻接表中的结点总数为()。A、nB、eC、2nD2e答案:D8、一个顺序表第一个元素的存储地址是90,每个元素的长度为2,则第6个元素的地址是()。A、 98B、 100C、 102D、 106答案:B9、常对数组进行的两种基本操作是()。A、 建立与删除B、 索引和修改C、 查找和修改D、 查找与索引答案:C10、在实际应用中,要输入多个字符串,且长度无法预定。则应该采用()存储比较合适。A、链式B、顺序C、堆结构D、无法确定答案:A11、在下列排序方法中,关键字比较的次数与记录的初始排列秩序无关的是()OA

25、、希尔排序B、冒泡排序C、插入排序D、选择排序答案:D12、在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲区,主机将要输出的数据依次写入缓冲区中,而打印机则从缓冲区中取出数据打印,该缓冲区应该是一个()结构。A、 堆栈B、 队列C、 数组D、 线性表答案:B13、向顺序栈中压入新元素时,应当()。A、 先移动栈顶指针,再存入元素B、 先存入元素,再移动栈顶指针C、 先后次序无关紧要D、 同时进行答案:A14、哈希函数有一个共同的性质,即函数值应当以()取其值域的每个值。A、 最大概率B、 最小概率C、 平均概率D、 同等概率答案:D15、算法分析的目的是()。A、 找出数

26、据结构的合理性B、 研究算法中的输入和输出的关系C、 分析算法的效率以求改进分析算法的易懂性和文档性D、 分析算法的易懂性和文档性答案:C16、设二维数组A56按行优先顺序存储在内存中,已知A00起始地址为IOO0,每个数组元素占用5个存储单元,则元素A44的地址为()OA、 1140B、 1145C、 1120D、 1125答案:A17、在正常情况下,冒泡排序的时间复杂度为()。A、 0(log2n)B、 0(n)C、0(nlog2n)D、0(n2)答案:D18、在一个栈顶指针为top的链栈中删除一个结点时,用X保存被删结点的值,则执行()。A、 x=top;top=top-next;B、

27、x=top-data;C、 top-top-next;x=top-data;D、 x=top-data;top=top-next;答案:B19、以下陈述中正确的是()。A、 串是一种特殊的线性表B、 串的长度必须大于零C、 串中元素只能是字母D、 空串就是空白串答案:A20、设有一个20阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素瓯2在一维数组B中的下标是()A、 41B、 32C、 18D、 38答案:D二、填空题1、将树中结点赋上一个有着某种意义的实数,称此实数为该结点的。答案:权2、分块查找又称为,它是一种介于顺序查找

28、和折半查找之间的查找方法。答案:索引顺序查找3、每个结点只包含一个指针域的线性表叫。答案:单链表4、在一个单链表中P所指结点之后插入一个S所指结点时,应执行和p-next=s;的操作。答案:snext=p-next5、栈是限定在表的一端进行插入和删除操作的线性表,又称为o答案:后进先出表6、在队列的顺序存储结构中,当插入一个新的队列元素时,尾指针,当删除一个元素队列时,头指针。答案:增17、假设以S和X分别表示入栈和出栈操作,则对输入序列a,b,c,d,c一系列栈操作SSXSXSSXXX之后,得到的输出序列为o答案:bceda8、空串的长度是答案:O9、在一个链队中,设f和r分别为队头和队尾指

29、针,则删除一个结点的操作为。(结点的指针域为next)答案:f=f-next10、在有序表Al.18中,采用二分查找算法查找元素值等于A17的元素,所比较过的元素的下标依次是o答案:9,14,16,1711、在对一组记录(50,40,95,20,15,70,60,45,80)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置需要比较次o答案:312、向一个栈顶指针为h的链栈中插入一个S所指结点时,可执行和h=s;操作。(结点的指针域为next)答案:s-next-h13、树中度等于O的结点称作或答案:叶子结点终端结点14、广义表A(a,b,c),(d,e,f)的表尾为。答案:

30、(d,e,f)15、具有m个叶子结点的哈夫曼树共有结点。答案:2m-1三、简答题1、头指针、头结点、第一个结点(或称首元结点)的区别是什么?答案:头结点是在链表的开始结点之前附加的一个结点;第一个结点(或称首元结点)是链表中存储第一个数据元素的结点;头指针是指向链表中第一个结点(或为头结点或为首元结点)的指针。2、已知某二叉树的先序遍历结果是:A,B,D,G,C,E,H,L,I,K,M,F和J,它的中序遍历结果是:G,D,B,A,L,H,E,K,I,M,C,F和J,请画出这棵二叉树,并写出该二叉树后续遍历的结果。答案:(1)二叉树图形表示如下:(2)该二叉树后序遍历的结果是:G、D、B、L、H、K、M、I、E、J、F、C和A。四、资料题1、下列是在具有头结点单向列表中删除第i个结点,请在空格内填上适当的语句。intdelete(NODE*head,inti)NODE*p,*q;intj;q=head;j=0;while(q!=NULL)&(j找到要删除结点的直接前驱,并使q指向它*/q=q-next;j+;if(q=NULL)return(O);free(p);return(1);)答案:第1空:p=q-next第2空:q-next=p-next

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号