视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
2022年上海第二工业大学计算机科学与技术专业《数据结构与算法...
2025-10-02 04:41:45 责编:小OO
文档
2022年上海第二工业大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

一、选择题

1、将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是(  )。

A.N    B.2N-1    C.2N   D.N-1

2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为(  )。

A.13    B.33       C.18         D.40

3、计算机算法指的是解决问题的步骤序列,它必须具备(  )三个特性。

A.可执行性、可移植性、可扩充性

B.可执行性、确定性、有穷性

C.确定性、有穷性、稳定性

D.易读性、稳定性、安全性

4、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行(  )。

A.h->next=s

B.s->next=h

C.s->next=h;h->next=s

D.s->next=h-next;h->next=s

5、动态存储管理系统中,通常可有(  )种不同的分配策略。

A.1     B.2    C.3      D.4

6、下列关于无向连通图特性的叙述中,正确的是(  )。

Ⅰ.所有的顶点的度之和为偶数 Ⅱ.边数大于顶点个数减1 Ⅲ.至少有一个顶点的度为1

A.只有Ⅰ.只有Ⅱ  C.Ⅰ和Ⅱ.Ⅰ和Ⅲ

7、若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是(  )。

8、设X是树T中的一个非根结点,B是T所对应的二叉树。在B中,X是其双亲的右孩子,下列结论正确的是(  )。

A.在树T中,X是其双亲的第一个孩子

B.在树T中,X一定无右兄弟

C.在树T中,X一定是叶结点

D.在树T中,X一定有左兄弟

9、每个结点的度或者为0或者为2的二叉树称为正则二叉树。n个结点的正则二叉树中有(  )个叶子。

A.log2n(n-1)/2n+1  D.(n+1)/2

10、分别以下列序列构造二叉排序树,与用其他三个序列所构造的结果不同的是(  )。

A.(100,80,90,60,120,110,130)

B.(100,120,110,130,80,60,90)

C.(100,60,80,90,20,110,130)

D.(100,80,60,90,120,130,110)

二、填空题

11、如果按关键码值递增的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为______。

12、对n个记录的表r[1..n]进行简单选择排序,所需进行的关键字间的比较次数为______。

13、VSAM系统是由______、______、______构成的。

14、应用Prim算法求解连通网络的最小生成树问题。(1)针对如图所示的连通网络,试按如下格式给出在构造最小生成树过程中顺序选出的各条边。

(2)下面是Prim算法的实现,中间有5个地方缺失,请阅读程序后将它们补上。

15、n个顶点的有向图用邻接矩阵array表示,下面是其拓扑排序算法,试补充完整。

注:(1)图的顶点号从0开始计。

(2)indegree是有n个分量的一维数组,放顶点的入度,

(3)函数crein用于计算顶点入度。

(4)有三个函数push(data),pop(),check()其含义为数据data入栈,出栈和测试栈是否空(不空返回l,否则0)。

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

17、已知链队列的头尾指针分别是f和r,则将值x入队的操作序列是______。

18、设广义表L=((),()),则head(L)是______; tail(L)是______;L的长度是______;深度是______。

三、判断题

19、倒排文件的目的是为了多关键字查找。(  )

20、直接访问文件也能顺序访问,只是一般效率不高。(  )

21、循环队列也存在空间溢出问题。(  )

22、一个广义表可以为其他广义表所共享。(  )

23、用一维数组存储二叉树时,总是以前序遍历顺序存储结点。(  )

24、一个树形的叶结点,在前序遍历和后序遍历下,皆以相同的相对位置出现。(  )

25、顺序存储方式的优点是存储密度大,且插入、删除运算效率高。

(  )

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

27、若一个有向图的邻接矩阵对角线以下元素均为零,则该图的拓扑有序序列必定存在。(  )

28、有向图中顶点V度等于其邻接矩阵中第V行中的1的个数。(  )

四、简答题

29、三维数组A[1..10,-2..6,2..8]的每个元素的长度为4个字节,试问该数组要占多少个字节的存储空间?如果数组元素以行优先的顺序存储,设第一个元素的首地址是100,试求元素A[5,0,7]的存储首地址。

30、假定对有序表:(3,4,5,7,24,30,42,54,63,72,87, 95)进行折半查找,试回答下列问题:

(1)画出描述折半查找过程的判定树。

(2)若查找元素54,需依次与哪些元素比较?

(3)若查找元素90,需依次与哪些元素比较?

(4)假定每个元素的查找概率相等,求查找成功时的平均查找长度。

31、已知有6个顶点(顶点编号为0~5)的有向带权图G,其邻接矩阵A 为上三角矩阵,按行为主序(行优先)保存在如下的一维数组中。

要求:

(1)写出图G的邻接矩阵A。

(2)画出有向带权图G。求图G的关键路径,并计算该关键路径的长度。

五、算法设计题

32、设有一个数组中存放了一个无序的关键序列K1,K2,…,Kn。现要求将Kn放在将元素排序后的正确位置上,试编写实现该功能的算法,要求比较关键字的次数不超过n(注:用程序实现)。

33、请编写完整的程序。如果矩阵A中存在这样的一个元素A[i,j]满足条件:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。请编程计算出m*n的矩阵A的所有马鞍点。

34、编写程序,统计在输入字符串中各个不同字符出现的频度并将结果存入文件(字符串中的合法字符为A~Z这26个字母和0~9这10个数字)。

35、写出算法,求出中序线索二叉树中给定值为x的结点之后继结点,返回该后继结点的指针。线索树中结点结构为:(ltag,lc,data,rc, rtag)。其中,data存放结点的值;lc、rc为指向左、右孩子或该结点前驱、后继的指针,ltag、rtag为标志域,若值为0,则lc、rc为指向左、右孩子的指针;若值为1,则lc、rc为指向其前驱、后继结点的指针。

一、选择题

1、【答案】A

2、【答案】B

3、【答案】B

4、【答案】D

5、【答案】C

6、【答案】A

7、【答案】D

8、【答案】D

9、【答案】D

10、【答案】C

二、填空题

11、【答案】(n+1)/2

12、【答案】n(n-1)/2

13、【答案】索引集;顺序集;数据集

14、【答案】

(1)(0,3,1);(3,5,4);(5,2,2);(3,1,5);(1,4,3)

(2)① T[k];toVex=i② min=MaxInt;③ mispos=i④ exit(0)⑤ T[i]; fromVex=v

【解析】Prim算法的执行类似于寻找图的最短路径的Dijkstra算法。假设 N={V,E}是连通图,ET是N上最小生成树边的集合。算法从VT={u0}, ET开始,重复执行下述操作:在所有u属于VT,v属于V-VT的边(u, v)属于E中找一条代价最小的边(u0,v0)加入集合ET,同时将v0并入VT,直到VT=V为止。

15、【答案】0;j;i;0;indegree[i]=0;[vex][i];k==l;indegree[i]=0

【解析】有向图用邻接矩阵表示时,顶点i的入度等于第i列的所有元素之和。拓扑排序过程:首先将入度为0的顶点全部进栈。然后弹出栈顶结点,并将与弹出的顶点相连的其他顶点的入度减一,然后判断这些顶点的入度是否为零,如果为零,继续进栈,重复这些操作,完成拓扑排序。

16、【答案】

【解析】用顺序存储结构存储二叉树时,要按完全二叉树的形式存储,非完全二叉树存储时,要加“虚结点”。设编号为i和j的结点在顺序存储中的下标为s和t,则结点i和j在同一层上的条件是

17、【答案】s=(LinkedList*)ma11oc(sizeof(LNode));s->data=x;s->next=r->next;r->next=s;r=s。

18、【答案】();(());2;2

三、判断题

19、【答案】√

20、【答案】×

21、【答案】√

22、【答案】√

23、【答案】×

24、【答案】√

25、【答案】×

26、【答案】×

27、【答案】√

28、【答案】×

四、简答题

29、答:数组占的存储字节数=10*9*7*4=2520;A[5,0,7]的存储地址=100+[4*9*7+2*7+5]*4=1184。

30、答:(1)判定树如图所示:

(2) 若查找元素54,需依次和元素30、63、42、54比较,查找成功。

(3) 若查找元素90,需依次和元素30、63、87、95比较,查找失败。

(4)

31、答:(1)由题可以画出待定上三角矩阵的结构图如下(图中?为待定元素):

可以看出,第一行至第五行主对角线上方的元素分别为5,4,3,2,1 个,由此可以画出压缩存储数组中的元素所属行的情况,如下图所示:

将各元素填入各行即得邻接矩阵:

(2)根据第一步所得矩阵A容易做出有向带权图G,如下:

(3)关键路径为0->1->2->3->5(如下图所示粗线表示),长度为4+5+4+3=16。

 

五、算法设计题

32、答:算法如下:

33、答:算法如下:

34、答:算法如下:

35、答:算法如下:下载本文

显示全文
专题