2022年江西理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年江西理工大学计算机科学与技术专业《数据结构与算法》科目
期末试卷A(有答案)
一、选择题
1、已知广义表LS=((a,b,c),(d,e,f)),用head和tail数取出LS中原子e 的运算是()。
A.head(tail(LS))
B.tail(head(LS))
C.head(tail(head(tail(LS))))
D.head(tail(tail(head(LS))))
2、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。
A.N
B.2N-1
C.2N
D.N-1
3、链表不具有的特点是()。
A.插入、删除不需要移动元素
B.可随机访问任一元素
C.不必事先估计存储空间
D.所需空间与线性长度成正比
4、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。
A.(rear-front+m)%m
B.rear-front+1
C.rear-front-1
D.rear-front
5、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={
A.V1,V3,V4,V6,V2,V5,V7
B.V1,V3,V2,V6,V4,V5,V7
C.V1,V3,V5,V2,V6,V7
D.V1,V2,V5,V3,V4,V6,V7
6、下列叙述中,不符合m阶B树定义要求的是()。
A.根结点最多有m棵子树 B.所有叶结点都在同一层上
C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接
7、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。
A.3,5,12,8,28,20,15,22,19
B.3,5,12,19,20,15,22,8,28
C.3,8,12,5,20,15,22,28,19
D.3,12,5,8,28,20,15,22,19
8、一棵非空的二叉树的前序序列和后序序列正好相反,则该二叉树一定满足()。
A.其中任意一个结点均无左孩子
B.其中任意一个结点均无右孩子
C.其中只有一个叶结点
D.其中度为2的结点最多为一个
9、设X是树T中的一个非根结点,B是T所对应的二叉树。在B中,X是其双亲的右孩子,下列结论正确的是()。
A.在树T中,X是其双亲的第一个孩子
B.在树T中,X一定无右兄弟
C.在树T中,X一定是叶结点
D.在树T中,X一定有左兄弟
10、下面关于B和B+树的叙述中,不正确的是()
A.B树和B+树都是平衡的多叉树
B.B树和B+树都可用于文件的索引结构
C.B树和B+树都能有效地支持顺序检索
D.B树和B+树都能有效地支持随机检索
二、填空题
11、属于不稳定排序的有______。
12、在哈希函数H(key)=key%p中,p值最好取______。
13、以下是用类C语言写出的算法,该算法将以二叉链表存储的二叉树中的叶结点按从
左到右的顺序链成一个带头结点的双向循环链表,链接时,结点的Lchild域作为前链域,指向结点的直接前驱,结点的Rchild 域作为后链域,指向结点的直接后继。算法中,使
用一个顺序栈stack,栈顶指针为top,p,t为辅助指针,head为双向循环链表的头指针。试填充算法中的空格,使算法完整。
14、在一棵m阶B-树中,若在某结点中插入一个新关键字而引起该结点分裂,则此结点中原有的关键字的个数是______;若在某结点中删除一个关键字而导致结点合并,则该
结点中原有的关键字的个数是______。
15、关键码序列(Q,H,C,Y,Q,A,M,S,R,D,F,X),要按照关键码值递增的
次序进行排序,若采用初始步长为4的希尔排序法,则一趟扫描的结果是______;若采用
以第一个元素为分界元素的快速排序法,则扫描一趟的结果是______。
16、设T和P是两个给定的串,在T中寻找等于P的子串的过程称为______,又称P为
______。
17、设广义表L=((),()),则head(L)是______; tail(L)是______;L的长度是
______;深度是______。
18、阅读下列程序说明和程序,填充程序中的______。
【程序说明】本程序完成将二叉树中左、右孩子交换的操作。交换的结果如下所示(编者略)。
本程序采用非递归的方法,设立一个堆栈stack存放还没有转换过的结点,它的栈顶指针为tp。交换左、右子树的算法为:
(1)把根结点放入堆栈。
(2)当堆栈不空时,取出栈顶元素,交换它的左、右子树,并把它的左、右子树分别入栈。
(3)重复(2)直到堆栈为空时为止。
三、判断题
19、倒排文件的目的是为了多关键字查找。()
20、倒排文件是对次关键字建立索引。()
21、队列和栈都是运算受限的线性表,只允许在表的两端进行运算。()
22、稀疏矩阵压缩存储后,必会失去随机存取功能。()
23、一棵树中的叶子数一定等于与其对应的二叉树的叶子数。()
24、二叉树是一般树的特殊情形。()
25、数据的逻辑结构是指数据的各数据项之间的逻辑关系。()
26、顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
()