《2023年数据结构期末考试题及答案.pdf》由会员分享,可在线阅读,更多相关《2023年数据结构期末考试题及答案.pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、20 2 3年数据结构期末考试题及答案一、选择题1 .在数据结构中,从逻辑上可以把数据结构分为C。A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构2.数据结构在计算机内存中的表达是指A。A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的 A结构。A.逻辑 B.存储 C.逻辑和存储 D.物理4.在存储数据时,通常不仅要存储各数据元素的值,并且还要存储 C。A.数据的解决方法 B.数据元素的类型C.数据元素之间的关系 D.数据的存储方法5.在决定选取何种存储结构时,一般不考虑
2、A。A.各结点的值如何 B.结点个数的多少C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。6.以下说法对的的是D oA.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是C,算法分析的两个重要方面是A。(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改善 C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度 B.对的性和简明性C.可读性和文档性D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是0(n 2)s =0;f b r (I
3、=0 ;i n;i+)f o r (j=0;j n:j +)s +=B i j ;s u m =s ;9 .下面程序段的时间复杂度是0(n*m)of o r (i =0;i n;i+)f o r (j=0:j m;j +)A i J U =0;1 0 .下面程序段的时间复杂度是0(I o g 3 n)oi=0;w h i l e (i n e xt=he a d D head!=NU L L1 5.带头结点的单链表he a d 为空的鉴定条件是B。ne x t=NULLC.h eadnext=h ead D h e ad!=NULL1 6.若某表最常用的操作是在最后一个结点之后插入一个结点或删
4、除最后一个结点,则采用D 存储方式最节省运第时间。A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表1 7.需要分派较大空间,线插入和删除不需要移动元素的性表,其存储结构是 B。A.单链表 B.静态链表 C.线性链表 D.顺序存储结构18.非空的循环单链表head的尾结点(由p 所指向)满 足 C oA.p nex t=NULL B.p=NULLC.p-n e x t=h e a d D.p=h ead1 9.在循环双链表的p 所指的结点之前插入s 所指结点的操作是 D。A.pp r io r priorB.pp r i o rp riorC.s-p ri o r-
5、n ext=sD.s-prio r-20.假如最常用的操作是取第i个结点及其前驱,则采用 D存储方式最行省时间。A.单链表 B.双链表 C.单循环链表 D.顺序表21.在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是B。A.O(1)B.O(n)C.O(n2)D.O(nlog 2 n)22.在一个长度为n(n l)的单链表上,设有头和尾两个指针,执 行B操作与链表的长度有关,A.删除单链表中的第一个元素B.删除单链表中的最后一个元素C.在单链表第一个元素前插入一个新元素D.在单链表最后一个元素后插入个新元素2 3.与单链表相比,双链表的优点之一是 D oA.插入、删除操
6、作更简朴B.可以进行随机访问C.可以省略表头指针或表尾指针D.顺序访问相邻结点更灵活2 4.假如对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则 最 佳 使 用BA.只有表头指针没有表尾指针的循环单链表B.只有表尾指针没有表头指针的循环单链表C.非循环双链表D.循环双链表25.在长度为n的顺序表的第i个位置上插入一个元素(1 W i n+l),元素的移动次数为:A。A.n-i+1 B.n-i C.i D.i-12 6.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为 C oA.顺序表 B.用头指针表达的循环单链表C.用尾指针表达的循环单链表 D.单链表
7、2 7.下述哪一条是顺序存储结构的优点?C ,A插入运算方便B可方便地用于各种逻辑结构的存储表达C存储密度大 D删除运算方便2 8.下面关于线性表的叙述中,错误的是哪一个?B oA线性表采用顺序存储,必须占用一片连续的存储单元B线性表采用顺序存储,便于进行插入和删除操作。C线性表采用链式存储,不必占用一片连续的存储单元D线性表采用链式存储,便于进行插入和删除操作。29.线性表是具有n个 B 的有限序列。A.字符 B.数据元素 C.数据项 D.表元素30.在n个结点的线性表的数组实现中,算法的时间复杂度是0(1)的操作是 A。A.访问第i(lV=iV=n)个结点和求第i个结点的直接前驱(lViV
8、=n)B.在第i(IV=i=n)个结点后插入一个新结点C.删除第i(lV=in ext=p-n e x t=pn e x t=s;C.p-n e x t =s-n e x t=s-next;p -n e x(=s3 6.线性表的顺序存储结构是一种A oA.随机存取的存储结构 B.顺序存取的存储结构C.索引存取的存储结构 D.Hash存取的存储结构3 7 .栈的特点是 B ,队列的特点是A oA.先进先出 B.先进后出3 8.栈和队列的共同点是C oA.都是先进后出 B.都是先进先出C.只允许在端点处插入和删除元素 D.没有共同点3 9.一 个 栈 的进栈序列是a.b,c,d,e,则栈的不也许的
9、输出序列是 C 。A.e d c b a B.d e c ba C .d c e a b D.a bc d e4 0.设有一个栈,元素依次进栈的顺序为A、B、C、D、E。下 列C 是不也许的出栈序列。A.A,B,C,D,E B.B,C,D,E,A C.E,A.B,C,D D.E,D C.B,A4 1.以下 B 不是队列的基本运算?A.从队尾插入一个新元素 B.从队列中删除第i个元素C.判断一个队列是否为空 D.读取队头元素的值4 2.若已知一个栈的进栈序列是1,2,3”n,其输出序列为p l,p 2,p3,p n,若p 1 =n,则p i为A.i B.n-i C.n-i+1 D.不拟定4 3.
10、鉴定一个顺序栈s t(最多元素为M a x S i z e)为空的条件是B 。A.s t -t o p !t o p=-1C.s t-t o pt o p=M a x S i z e4 4.鉴定一个顺序栈s t(最多元素为M a x Si z e )为满的条件是D oA.s t t o p!t o p=-1C.s t -t o P !t o p=M a x Si z e4 5.一个队列的入队序列是1,2,3,4,则队列的输出序 列 是 B oA.4,3,2,1 B.1 ,2,3,4C.1,4,3,2 D.3,2,4,14 6.鉴定一个循环队列q u(最多元素为Ma x S i z e)为空的条
11、 件 是 C 。A.qu-r e a r qu -r e a r -q u-f r o n t 1 =M a x Si z eC .q u -f r o n t 14 7 .在循环队列中,若 f r o m 与 r e a r 分别表达对头元素和队尾元素的位置,则判断循环队列空的条件是C 。A.f r o n t=r e a r+1 B.r e a r =f r o n t+l C.f i r o n t=r e a r D.f r o n t =04 8.向一个栈顶指针为h的带头结点的链栈中插入指针s 所指的结点时,应 执 行 D 操作。A.h-n e x t=h :C.s-n e x t=
12、h-n e x t=s ;49.输入序列为ABC,可以变为CBA时,通过的栈操作为 B 。A.p u s h ,po p,p u s h.p o p,pu s h,p op B,pu s h ,p u s h p u s h,po p,po p.p o pC.p u s h p u s h,p o p,po p,p u s h.po p D.p u s h,pnex t-nex t=L 01 8.栈是限定仅在表尾进行插入或删除操作的线性表,其运算遵循 后进先出的原则。19.空串 是 零个字符的串,其长度等于零。空白串是由 个或多个空格字符组成的串,其长度等于其包含的空格个数。2 0 .组成串的
13、数据元素只能是单个 字 符。21.个字符串中任意个连续字符构成的部分称为该串的子串。22.子 串“s i r 在主串“d a【a structure”中的位置是 5。23.二维数组M的每个元素是6 个字符组成的串.行下标i 的范围从0 到8.列下标j 的范围从1 到 1 0,则存放M至少需要 540个字节;M 的第8 列和第5 行共占1 0 8 个字节。24.稀疏矩阵一般的压缩存储方法有两种,即 三 元 组 表 和 十字链表o2 5.广义表(a),(b),c),(d)的长 度 是 3,深度是 4。26.在一棵二叉树中,度为零的结点的个数为n0,度为2 的结点的个数为n 2,则有n 0=n 2+
14、1 o27.在有n 个结点的二叉链表中,空链域的个数为_/1 _。28.一棵有n 个叶子结点的哈夫曼树共有_ 2 nl_个结点。2 9.深度为5 的二叉树至多有3 1 个结点。3 0.若某二叉树有20个叶子结点,有 3 0 个结点仅有一个孩子,则该二叉树的总结点个数为 69 o3 1 .某二叉树的前序遍历序列是a b d g c e f h,中序序列是dgbaechf,其后序序列为g d b eh fca。3 2.线索二叉树的左线索指向其遍历序列中的前驱,右线索指向其遍历序列中的后继。3 3 .在各种查找方法中,平均查找长度与结点个数n 无关的查找方法是散列查找法。3 4.在分块索引查找方法中
15、,一 方 面 查 找 索 引 表,然后查找相应的块表。3 5 .一个无序序列可以通过构造一棵二叉排序树而变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。3 6 .具有1 0 个顶点的无向图,边的总数最多为_ 4 5_。3 7 .已知图G的邻接表如图所示,其从顶点v l 出发的深度优先搜索序列为_ v lv 2 V 3 V6 V 5 V 4 其从顶点v l出发的广度优先搜索序列为_ v 1 v 2 V 5 V 4v 3 v 6 。3 8 .索引是为了加快检索速度而引进的一种数据结构。一个索引从属于某个数据记录集,它由若干索引项组成,索引项的结构为关键字和关键字相应记录的地址。3 9
16、.P r im 第法生成一个最小生成树每一步选择都要满足边的总数不超过n-1,当前选择的边的权值.是候选边中最小的,选中的边加入树中不产生回路三项原则。40 .在一棵m阶B树中,除根结点外,每个结点最多有m 棵子树,最少有m/2棵子树。三、判断题。1 .在决定选取何种存储结构时,一般不考虑各结点的值如何。(力2 .抽象数据类型(A DT)涉及定义和实现两方面,其中定义是独立于实现的,定义仅给出一个A D T 的逻辑特性,不必考虑如何在计算机中实现。N)3 .抽象数据类型与计算机内部表达和实现无关。(Y)4.顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。(x)5.线性表采用链式存储
17、结构时,结点和结点内部的存储空间可以是不连续的。(x )6 .对任何数据结构链式存储结构一定优于顺序存储结构。(x )7 .顺序存储方式只能用于存储线性结构。(x )8 .集合与线性表的区别在于是否按关键字排序。(x )9 .线性表中每个元素都有一个直接前驱和一个直接后继。(X )1 0 .线性表就是顺序存储的表。(x )1 1.取线性表的第i个元素的时间同i的大小有关。(x )12.循环链表不是线性表。(x)1 3 .链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序表中效率高。(4)14.双向链表可随机访问任一结点。(x)15.在单链表中,给定任一结点的地址p,则可用下
18、述语句将新结点s插入结点p 的后面:p-nex t ;(x)16.队列是一种插入和删除操作分别在表的两端进行的线性表,是一种先进后出的结构。(x)17.串是一种特殊的线性表,其特殊性体现在可以顺序存储。(x)18.长度为1 的事等价于一个字符型常量。(x)1 9.空串和空白串是相同的。(x)20.数组元素的下标值越大,存取时间越长。(x)2 1 .用邻接矩阵法存储一个图时.,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中结点个数有关,而与图的边数无关。3)22.一个广义表的表头总是一个广义表。(x)2 3.一个广义表的表尾总是一个广义表。(4)2 4.广义表(a),b),c)的表头是(
19、a),b),表尾是(c)。(4)2 5.二叉树的后序遍历序列中,任意一个结点均处在其孩子结点的后面。(4)26.度为2 的有序树是二叉树。(x)27.二叉树的前序遍历序列中,任意一个结点均处在其孩子结点的前面。(V)2 8.用一维数组存储二叉树时,总是以前序遍历顺序存储结点。(x)29.若已知一棵二叉树的前序遍历序列和后序遍历序列,则可以恢复该二叉树。(x)3 0.在哈夫曼树中,权值最小的结点离根结点最近。(x)31.强连通图的各顶点间均可达。(7)32.对于任意个图,从它的某个结点进行次深度或广度优先遍历可以访问到该图的每个顶点。(x)3 3.在待排序的记录集中,存在多个具有相同键值的记录,
20、若通过排序,这些记录的相对顺序仍然保持不变,称这种排序为稳定排序。(7)34.在平衡二叉树中,任意结点左右子树的高度差(绝对值)不超过1。N )3 5.拓扑排序是按AOE网中每个结点事件的最早发生时间对结点进行排序。(x)3 6.冒泡排序算法关键字比较的次数与记录的初始排列顺序无关。(x)3 7.对线性表进行折半查找时,规定线性表必须以链式方式存储,且结点按关键字有序排列。(x)38.散列法存储的思想是由关键字值决定数据的存储地址。(”)39.二叉树为二叉排序树的充足必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。(x)40.具有n个结点的二叉排序树有多种,其中树高最小的二叉排序树是最佳的C (V)41.直接选择排序算法在最佳情况下的时间复杂度为O(n)o(x)