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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2022年安徽工业大学计算机科学与技术专业《数据结构与算法》科目
期末试卷A(有答案)
一、选择题
1、下列排序算法中,占用辅助空间最多的是()。

A.归并排序
B.快速排序
C.希尔排序
D.堆排序
2、无向图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,f
B.a,c,f,e,b,d
C.a,e,b,c,f, d
D.a,e,d,f,c,b
3、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则
采用()存储方式最节省运算时间。

A.单链表
B.仅有头指针的单循环链表
C.双链表
D.仅有尾指针的单循环链表
4、最大容量为n的循环队列,队尾指针是rear,队头:front,则队空的条件是()。

A.(rear+1)MOD n=front
B.rear=front
C.rear+1=front
D.(rear-1)MOD n=front
5、有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是()。

A.543612
B.453126
C.346521
D.234156
6、下列叙述中,不符合m阶B树定义要求的是()。

A.根结点最多有m棵子树 B.所有叶结点都在同一层上
C.各结点内关键字均升序或降序排列 D.叶结点之间通过指针链接
7、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。

下列排序
方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。

Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序
A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ
8、下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序()。

A.二叉排序树
B.哈夫曼树
C.AVL树
D.堆
9、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。

A.107
B.108
C.214
D.215
10、就平均性能而言,目前最好的内排序方法是()排序法。

A.起泡
B.希尔插入
C.交换
D.快速
二、填空题
11、属于不稳定排序的有______。

12、起始地址为480,大小为8的块,其伙伴块的起始地址是______;若块大小为32,则其伙伴块的起始地址为______。

13、数据结构是研讨数据的______和______以及它们之间的相互关系,并对与这种结构定义相应的______,设计出相应的______。

14、线性表L=(a1,a2,…,an)用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是______。

15、一个算法具有5个特性: ______、______、______、有零个或多个输入、有一个或多个输出。

16、一棵有n个结点的满二叉树有______个度为1的结点、有______个分支(非终端)结点和______个叶子,该满二叉树的深度为______。

17、模式串P=‘abaabcac’的next函数值序列为______。

18、在顺序存储的二叉树中,编号为i和j的两个结点处在同一层的条件是______。

三、判断题
19、对处理大量数据的外存介质而言,索引顺序存取方法是一种方便的文件组织方法。

()
20、文件系统采用索引结构是为了节省存储空间。

()
21、队列和栈都是运算受限的线性表,只允许在表的两端进行运算。

()
22、设栈采用顺序存储结构。

若已有i-1个元素入栈,则将第i个元素入栈时,入栈算法的时间复杂性为O(i)。

()
23、二叉树是一般树的特殊情形。

()
24、对于有n个结点的二叉树,其高度为log2n。

()
25、在一个设有头指针和尾指针的单链表中,执行删除该单链表中最后一个元素的操作与链表的长度无关。

()
26、在任何情况下,归并排序都比简单插入排序快。

()
27、当改变网上某一关键路径上任一关键活动后,必将产生不同的关键路径。

()
28、连通图上各边权值均不相同,则该图的最小生成树是唯一的。

()
四、简答题
29、阅读下面的算法,说明算法实现的功能。

30、调用下列C函数f(n),回答下列问题:
(1)试指出f(n)值的大小,并写出,f(n)值的推导过程。

(2)假定n=5,试指出,f(5)值的大小和执行,f(5)时的输出结果。

C函数:
31、已知世界六大城市为:北京(Pe)、纽约(N)、巴黎(Pa)、伦敦(L)、东京(T)、墨西哥(M),下表给定了这六大城市之间的交通里程:
世界六大城市交通里程表(单位:百公里)
(1)画出这六大城市的交通网络图。

(2)画出该图的邻接表表示法。

(3)画出该图按权值递增的顺序来构造的最小(代价)生成树。

五、算法设计题
32、编写递归算法,从大到小输出给定二叉排序树中所有关踺字不小于x的数据元素。

要求你的算法的时间复杂度为O(log2(x+m)),其中,2为排序树中所含结点数,m 为输出的关键字个数。

33、有二叉排序树采用二叉链表方式存放,树中结点值各不相同,欲得到一个由大到小的结点值递减序列,简述处理方法思路,用非递归形式写出算法。

34、设计算法将一棵以二叉链表存储的二叉树按顺序方式存储到一维数组中(注:按层从上到下,由左到右)。

35、编写算法,将自然数l~n2按“蛇形”填n×n矩阵中。

例(1~42)如图所示(用程序实现)。

参考答案
一、选择题
1、【答案】A
2、【答案】D
3、【答案】D
4、【答案】B
5、【答案】C
6、【答案】D
7、【答案】A
8、【答案】D
9、【答案】B
10、【答案】D
二、填空题
11、【答案】希尔排序、简单选择排序、快速排序、堆排序等
12、【答案】480+8=488;480-32=448
13、【答案】逻辑结构;物理结构;操作(运算);算法
14、【答案】(n-1)/2
15、【答案】有穷性;确定性;可行性
16、【答案】
【解析】满二叉树没有度为1的结点,度为0的结点等于度为2的结点个数+1。

17、【答案】01122312
18、【答案】++a*b3*4-cd;18
【解析】中缀式相当于中序遍历,前缀式相当于前序遍历,后缀式相当于后序遍历。

三、判断题
19、【答案】×
20、【答案】×
21、【答案】×
22、【答案】×
23、【答案】×
24、【答案】×
25、【答案】×
26、【答案】×
27、【答案】×
28、【答案】√
四、简答题
29、答:本算法功能是将两个无头结点的循环链表合并为一个循环链表。

head1最后一个结点的链域指向head2,head2最后一个结点的链域指向head1,head1为结果循环链表的指针。

30、答:(1)第一层for循环判断n+1次,往下执行n次,第二层for执行次数为(n+(n-1)+(n-2)+…+1),第三层循环体受第一层循环和第二层循环的控制,其执行次数如表1-1所示。

执行次数为f(n)=(1+2+…+,n)+(2+3+…+,n)+…+n=n*n(n+1)/2-n(n2-1)/6。

(2)在n=5对,f(5)=55,执行过程中,输出结果为:
31、答:(1)这六大城市的交通网络图如图所示:
(2)该图的邻接表表示法如图所示:
(3)最小生成树有6个顶点与条边:V(G)={Pe,N,Pa,L,T,M}E(G)={(L,Pa,3),(Pe,T,21),(M,N,32),(L,N,55),(L, Pe,81)}
五、算法设计题
32、答:算法如下:
33、答:算法如下:
34、答:算法如下:
35、答:算法如下:。

相关文档
最新文档