2022年江西理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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={},G的拓扑序列是()。

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、顺序存储方式的优点是存储密度大,且插入、删除运算效率高。

()

相关文档
最新文档