数据结构II试卷B及答案(孟凡荣)

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

东北大学继续教育学院

数据结构II 试卷(作业考核线上) B 卷

(共8 页)

一、单选题(每小题2分,共10小题,20分)

[A ] 1.抽象数据类型的三个组成部分分别为

A.数据对象、数据关系和基本操作

B.数据元素、逻辑结构和存储结构

C.数据项、数据元素和数据类型

D.数据元素、数据结构和数据类型

[D ] 2.下列各式中,按增长率由小至大的顺序正确排列的是

A.n,n!,2n ,n3/2 B.n3/2,2n,n logn,2100

C.2n,log n,n logn,n3/2 D.2100,logn, 2n, n n

[A ] 3. 已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向

另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为

A. q->next=s->next;s->next=p;

B. s->next=p;q->next=s->next;

C. p->next=s->next;s->next=q;

D. s->next=q;p->next=s->next;

[C ] 4.二维数组A[20][10]采用行优先的存储方法,若每个元素占2个存储单元,且第1

个元素的首地址为200,则元素A[8][9]的存储地址为

A.374 B.576

C.378 D.580

[B ] 5.设有一个顺序栈的入栈序列是a、b、c,则3个元素都出栈的可能不同排列个数为 A.4 B.5

C. 6

D. 7

[D ] 6. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的

叶子数为

A.5 B.6

C.7 D.8

[C ] 7.以下说法不正确的是

A.无向图中的极大连通子图称为连通分量

B.连通图的广度优先搜索中一般要采用队列来暂存刚访问过的顶点

C.图的深度优先搜索中一般要采用栈来暂存刚访问过的顶点

D.有向图的遍历不可采用广度优先搜索

[B ] 8. 假设在构建散列表时,采用线性探测解决冲突。若连续插入的n个关键字都是同义

词,则查找其中最后插入的关键字时,所需进行的比较次数为

A. n-1

B. n

C. n+l

D. n+2

[B ] 9.设置溢出区的文件是

A.索引非顺序文件B.ISAM文件

C.VSAM文件D.顺序文件

[A ] 10. 已知一组关键字为{25,48,36,72,79,82,23,40,16,35},其中每相邻两个为有序子

序列。对这些子序列进行一趟两两归并的结果是

A.{25,36,48,72,23,40,79,82,16,35}

B.{25,36,48,72,16,23,40,79,82,35}

C.{25,36,48,72,16,23,35,40,79,82}

D.{16,23,25,35,36,40,48,72,79,82}

二、填空题(每小题1分,共10小题,10分)

11.下面程序段中带下划线的语句的执行次数的数量级是( log

n )。

2

i=1; WHILE(i

12.假设带头结点的非空单循环链表中仅设尾指针L,则在第1个结点之前插入指针s所指结点的语句依次是( s->nest=L->next->next;L->next->next =S )。

13.无表头结点的链队列Q为空的条件是( Q->real==Q->front=NULL )。

14.设Q[0..N-1]为循环队列,其头、尾指针分别为P和R,则队Q中当前所含元素个数为((R-P+N)% N )。

15.一棵含999个结点的完全二叉树的深度为( 10 )。

16.在 AOV网中,存在环意味着某项活动以自己为先决条件;对程序的数据流图来说,它表明存在(死循环)。

17. 有向图G可拓扑排序的判别条件是( 不存在环 )。

18.如果结点A有 3个兄弟,而且B是A的双亲,则B的度是( 4 )。

19.应用回溯与分支限界法解决实际问题时,在搜索过程中利用判定函数,也称为(限界函数)。

20. 若以1234作为双端队列的输入序列,则既不能由输入受限的双端队列得到,也不能由输

出受限的双端队列得到的输出序列是( 4231 )。

三、应用题(每小题6分,共5小题,30分)

21.比较线性表和栈的基本操作的不同点。

解答:

主要区别是对插入和删除操作的限制。

如线性表允许在表内任一位置进行插入和删除;而队列只允许在表尾一端进行插入,在表头一端进行删除;所以也称队列为受限的线性表。表头为队列头;表尾为队列尾。

插入删除

线性表 Insert(L,i,x) Delete(L,i)

(1≤i≤n+1) (1≤i≤n)

队列Insert(L,n+1,x) Delete(L,1)

22.有一个二叉树按层次顺序存放在一维数组中,如下图所示:

试求:(1)该树的后序遍历序列。

(2)画出该树的后序线索树。

1 2 3 4 5 6 7 8 9 10 11

解答:

(1)后序遍历序列C E D B A

(2)后序线索树

23.分析顺序查找算法的“监视哨”设置作用

解答:

为了考虑查找不成功的情况,在每次进行关键字的比较前,首先要判断循环变量i是否数组越界,这对算法来说是必要的。如果每步省略数组下标是否越界的判断,则可以大大提高算法运行的效率。为此,可以利用预留的0号单元,作为所设的“监视哨”控制循环变量i的出界。

假设数据从后向前比较,监视哨设在数组低端 L.elem [0] = k

将算法中的判断语句

while (i <= L.length &&L.elem [i] != k) ++i;

改为 while (L.elem [i] != k) --i;

这样,当在查找表中不存在其关键字等于给定值的数据元素时,i必等于0,并且这样的处理并不影响查找成功的情况。

24.对n个整数的序列进行直接选择排序。

相关文档
最新文档