数据结构专升本模拟题及参考答案

更新时间:2023-12-30 17:28:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

作业题(一)

一、单项选择题

1. 从逻辑上可以把数据结构分为( )两大类。 A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 2. 链表不具有的特点是( )

A.插入、删除不需要移动元素 B.可随机访问任一元素 C.不必事先估计存储空间 D.所需空间与线性长度成正比 3.下面程序段的时间复杂度的量级为( )。 For(i=1;i<=n;i++) For(j=1;j<=I;j++) For(k=1;k<=j;k++) X=x+1;

A.O(1) B.O(n) C.O(n2) D.O(n3)

4.在一个带头结点的双向循环链表中,若要在p所指向的结点之前插入一个新结点,则需要相继修改( )个指针域的值。

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

5、一个顺序存储线性表的第一个元素的存储地址是90,每个元素的长度是2,则第6个元素的存储地址是( )。

A.98 B.100 C.102 D.106 6、判定一个栈s(最多元素为m0)为空的条件是( )。 A.s-〉top! =0 B.s-〉top= =0 C.s-〉top! =m0 D.s-〉top= =m0

7、循环队列用数组A[m](下标从0到m-1)存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( )。

A.(rear-front+m)%m B.rear-front+1 C.rear-front-1 D. rear-front

8、设有两个串S1与S2,求串S2在S1中首次出现位置的运算称作( )。

A.连接 B.求子串 C.模式匹配 D.判子串

9、设串S1='ABCDEFG',S2='PQRST',函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串S的的从序号i的字符开始的j个字符组成的子串,len(s)返回串S的长度,则con(subs(S1,2,len(S2)),subs(S1,len(S2),2))的结果是( )。

A.BCDEF B.BCDEFG

C.BCPQRST D.BCDEFEF 10、数组常用的两种基本操作是( )。

A.建立与查找 B.删除与查找 C.插入与索引 D.查找与修改 二、填空题

1. 所谓稀疏矩阵指的是________且分布没有规律。 2. 队列是________的线性表,其运算遵循________的原则。 3. 空格串是________________________________。

4.简单选择排序和起泡排序中比较次数与序列初态无关的算法有________。

5、设图G有n个顶点和e条边,则对用邻接矩阵表示的图进行深度或广度优先搜索遍历时的时间复杂度为 ,而对用邻接表表示的图进行深度或广度优先搜索遍历时的时间复杂度为 ,图的深度或广度优先搜索遍历时的空间复杂度均为 。

6、一个图的 表示法是唯一的,而 表示法是不唯一的。 三、算法

设二叉树采用二叉链表结构,试设计一个算法统计给定二叉树中的一度结点数目。 四、应用题

1、对关键字无序序列(36,25,48,12,65,43,20,58)进行直接选择排序,请写出每一趟排序的结果。(10分)

2、对无向带权图,用克鲁斯卡尔算法构造最小生成树。(10分)

3、已知记录关键字集合为(53,17,19,61,98,75,79,63,46,49)要求散列到地址区间(100,101,102,103,104,105,106,107,108,109)内,若产生冲突用开型寻址法的线性探测法解决。要求写出选用的散列函数;形成的散列表;计算出查找成功时平均查找长度与查找不成功的平均查找长度。(设等概率情况)

1 G C 20 9 B 5 8 E 2 6 F A 3 D 4

4、设被查找文件有4095个记录,对每个记录查找记录概率相等,若采用顺序查找,成功查找平均比较次数为多少?

作业题(二)

、单项选择题

1. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?( )

A. 5 4 3 6 1 2 B. 4 5 3 1 2 6 C. 3 4 6 5 2 1 D. 2 3 4 1 5 6 2. 栈和队都是( )

A.顺序存储的线性结构 B. 链式存储的非线性结构 C. 限制存取点的线性结构 D. 限制存取点的非线性结构 3、顺序查找法适合于存储结构为( )的线形表。

A.散列存储 C.压缩存储

B.顺序存储或链接存储 D.索引存储

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

A.(100,80, 90, 60, 120,110,130) B.(100,120,110,130,80, 60, 90) C.(100,60, 80, 90, 120,110,130) D. (100,80, 60, 90, 120,130,110) 5、折半查找的平均比较次数为( )。

A.n

B.n/2 D.log2(n+1)

C.log2n

6、当在一个有序的顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者的查找速度( )

A.必定快

B.不一定

C.在大部分情况下要快 D.取决于表递增还是递减

7、已知一有向图的邻接表存储结构如下图如示。根据有向图的深度优先遍历算法,从顶点v1出发,所得到的顶点序列是( )。

A.v1,v2,v3,v5,v4 C.v1,v3,v4,v5,v2

B.v1,v2,v3,v4,v5 D.v1,v4,v3,v5,v2

8、为了方便地对图状结构的数据进行存取操作,则其中数据存储结构宜采用( )。

A.顺序存储 C.索引存储

B.链式存储 D.散列存储

9、在一个具有n个顶点的有向图中,若所有顶点的出度之和为s,则所有顶点的入度之和为( )。

A.s

B.s-1 D.n

C.s+1

10、如图所示,给出由7个顶点组成的无向图。从顶点A出发,对它进行深度优先搜索得到的顶点序列是( )。

A.A E C D B F G C.A C E D B G F

B.A G B F D E C D.A B D G F E C

二、填空题

1. 设n0为哈夫曼树的叶子结点数目,则该哈夫曼树共有________个结点。

2. 有数据WG={7,19,2,6,32,3,21,10},则所建Huffman树的树高是________,带权路径长度WPL为________。

3.设一棵完全二叉树叶子结点数为k,最后一层结点数>2,则该二叉树的高度为________________。 4. 采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分 个结点最佳。

5、设G为具有N个顶点的无向连通图,则G中至少有 条边。

6、哈夫曼树(Huffman Tree)又称 。它是n个带权叶子结点构成的所有二叉树中,带权路径长度WPL 。

7、树的先序遍历过程如下:若树为空,则进行空操作;若树非空,则访问树的 ;依次先序遍历树的 。 三、应用题

1、给定权值集合{1, 4, 2, 6, 9,}, 构造相应的哈夫曼树, 并计算它的带权路径长度。

2、对关键字序列{10,6,3,2,5,4},构造一棵平衡二叉(排序)树并画图(要求画出建树过程)。

3、设有一个有序文件,其中各记录的关键字为(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15),当用折半查找算法查找关键字为3,8,19时,其比较次数分别为多少? 4、对有五个结点{ A,B, C, D, E}的图的邻接矩阵, ?010030?10???0????????60020?????10?0????????500??

(1).画出逻辑图 ;

(2).画出图的十字链表存储;

(3).基于邻接矩阵写出图的深度、广度优先遍历序列; (4).计算图的关键路径。

作业题(三)

一、单项选择题 1.串的长度是指( )

A.串中所含不同字母的个数 B.串中所含非空格字符的个数 C.串中所含不同字符的个数 D.串中所含字符的个数

2.设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( )。 A. BA+141 B. BA+180 C. BA+222 D. BA+225 3.算法分析的两个主要方面是( )。

A.空间复杂性和时间复杂性 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 4.算法分析的目的是( )。

A.找出数据结构的合理性 B.研究算法中的输入和输出的关系

表中结点数,且每次查找都是成功的。 A.N+1 C.log2N

8. 下面关于m阶B树说法正确的是( )。

①每个结点至少有两棵非空子树; ②树中每个结点至多有m一1个关键字;

③所有叶子在同一层上; ④当插入一个数据项引起B树结点分裂后,树长高一层。 A.①②③ C.②③④

9. 已知一个线性表(38,25,74,63,52,48),假定采用h(k)=k%7计算Hash地址进行散列存储,若利用链地址法处理冲突,则在该Hash表上进行查找的平均查找长度为( )。 A.1.0 C.4/3

10. 在排序算法的实施过程中,使用辅助存储空间为O(1)的有( )。 A.简单排序法 C.归并排序法 二、填空题

1. n(n大于1)个结点的各棵树中,其中深度最大的那棵树的深度是n,它共有________个叶子结点和________个非叶子结点。

2.设一棵后序线索树的高是50,结点x是树中的一个结点,其双亲是结点y,y的右子树高度是60,x是y的左孩子。则确定x的后继最多需经过________中间结点(不含后继及x本身) 3.高度为2(第2层为叶子)的3阶B-树中,最多有________个关键字。

4.分别采用堆排序,快速排序,冒泡排序和归并排序,对初态为无序的表,则平均情况下最省时间的是________算法。

5.简单选择排序和起泡排序中比较次数与序列初态无关的算法有________。

6. 串的链式存储结构是将存储区域分成一系列大小相同的结点,每个结点有两个域 域和 域。其中 域用于用于存放数据, 域用于存放下一个结点的指针 三.判断

1. 顺序存储的线性表可以随机存取。 ( )

2. 即使对不含相同元素的同一输入序列进行两组不同的、合法的入栈和出栈组合操作,所得的输出序列也一定相同。 ( )

3. 十字链表是无向图的一种存储结构。( )

4. 折半查找方法适用于排列连续顺序文件的查找。( )

5. 在执行某个排序算法过程中,出现了排序码朝着最终排序序列位置相反方向移动,则该算法是不稳

B.快速排序法 D.基数排序法

B.7/6 D.3/2

B.②③ D.③

B.2log2N D.N

定的。( ) 四、应用题

1. 用十字链表表示一个有k个非零元素的m x n的稀疏矩阵,则其总的结点数为多少?

2. G=(V,E)是一个带有权的连通图,则:

(1).请回答什么是G的最小生成树;

(2).G为下图所示,请找出G的所有最小生成树。

3. 请分别叙述在一个连续顺序文件中采用顺序查找法,折半查找法和分块查找法查找一个记录,该文件中记录应该满足什么条件?

4. 设待排序文件之排序码为(88,33,22,55,99,11,66),采用顺序存储。请用直接选择排序算法对上述文件进行排序,用图示说明排序过程。

---------------------------------------------- 作业题一参考答案: 一、单项选择题

1、C 2、B 3、D 4、C 5、B 6、B 7、A 8、C 9、D 10、D 二、填空题 1、非零元很少

2、操作受限(或限定仅在表尾进行插入和限定仅在表头进行删除操作或限制存取点或特殊),先进先出(或后进后出) 3、简单选择排序 4、O(n2),O(e),O(n) 5、邻阵矩阵,邻接表 三、算法

答: int count = 0; void onechild ( Btree t) { if ( t!=NULL) { onechild ( t->lchild ); onechild ( t->rchild );

if ( t->lchild!=NULL && (t->rchild!=NULL || t->lchild!=NULL && t->rchild==NULL )

count++;

} }

四、应用题 1、 答:

2、 答: (1) (3) C 1 G 2 F A 3 D C 1 4

(4)

A 3 D G C 1 C 1 G 2 F

(2)

(5) C

G

B 1 5 2

F

A 3 D C 4 1 5 G B

(6)

G 2 F A E 6 2

3 D 4 F 3、答:由于地址空间为10,且从100开始,故散列函数选为H(key)=key%7+100。

用线性探测再散列解决冲突,ASLsucc=27/10

4、答:成功查找平均比较查找长度为:(n+1)/n[log2(n+1)]-1。

作业题二参考答案: 一、单项选择题

1、C 2、C 3、B 4、C 5、D 6、C 7、C 8、B 9、A 10、C 二、填空题 1、2n0-1 2、6,261 3、 ?log2k?+1 4、25 5、N-1

6、最优二叉树,最小的二叉树 7、根结点,各子树 三、应用题

1、

答:不唯一,型对即可

9 6 22 13 7

此树的带权路径长度WPL =9*1+6*2+4*3+(1+2)*4=45 2、 答: (1)插入10

(6)插入5

6 6 3 10 2 5 2 5 3 10 3 10 3 6 6

(2) 插入6

10 (3) 插入3

10 (4)

6 10

调整 3 10 (5)插入2 2 6 (7)插入4 (8)

5 6 4 10

调整 2 3、答:当关键字为3时,比较次数为4; 当关键字为8时,比较次数为1; 当关键字为19时,查找不成功;

4、答:(2)略

(3)深度优先遍历序列:ABCDE广度优先遍历序列:ABCED(4)关键路径A--B(长100)

作业题三参考答案:

一、单项选择题

1、D 2、B 3、A 4、C 5、D 6、A 7、B 8、C 9、B 10、D 二、填空题 1、2,3 2、4 3、n-1 4、e

5、相同类型数据,地址连续 6.三元组顺序表,三元组 7. 矩阵转置 三、应用题 1、 答: 2、答:

B C

二叉链表

② ∧ ③ ∧ ④ ∧ ⑤ ∧ ⑥ ∧ ∧ ⑦ ⑧ ∧(2 ∧ ∧ ⑨ ∧ A

D

E

3. 答:Prim算法构造最小生成树的步骤如24题所示,为节省篇幅,这里仅用Kruskal算法,构造最小生成树过程如下:(下图也可选(2,4)代替(3,4),(5,6)代替(1,5))

即:

4. 答:由完全二叉树的定义可知,除最后一层外,其他各层的结点是满的。设该完全二叉树有d层,则除最后一层外各层的结点个数分别为:1,2,4,8,16,32,…,即第i层的结点个数为2i-1。这里第8层有8个结点,显然第8/层是最后的一层,那么第7层的结点个数为27-1=64个,其中的4个结点有8个叶子结点,

余下的为叶子结点,个数为64-4=60,所以该完全二叉树的叶子结点个数为60+8=68个。 5. 答:对应的二叉树形式如图所示:

作业题四参考答案: 一、单项选择题

1. A 2. B 3. D 4. B 5. D 6、C 7、C 8、C 9、B 10、D 二、填空题 1. 答:前一个位置

2. 答:数组元素,数组元素,维数 3. 答:邻阵矩阵,邻接表 4. 答:9,4

5. 答:[48 44] 52 [64 80 91] 6、1,2 三.判断 1. 答:√ 2. 答:× 3. 答:× 4. 答:√ 5. 答:√ 四、应用题

1. 答:模式p的next函数值如下:

2. 答:A共120个字节。

a4,5的起始地址为:1116。

按行优先存储时,a2,5的起始地址为:1068。 按列优先存储时,a2,5的起始地址为:1108。

3. 答:(1)哈希函数H(key)=(关键字各字符编码之和)MOD 7 (2)

4. 答:一趟快速排序:22,19,13,6,24,38,43,32

初始大堆:43,38,32,22,24,6,13,19

二路并归:第一趟:19,24,32,43,6,38,13,22 第二趟:19,24,32,43,6,13,22,38

第三趟:6,13,19,22,24,32,38,43

堆排序辅助空间最少,最坏情况下快速排序时间复杂度最差。

作业题五参考答案: 一、单项选择题

1. 答:C 2、D 3、D 4. 答:C 5. 答:B 6. 答:A 7. 答:D 8. 答:B 9. 答:C 10. 答:A 二、填空题 1、1,n-1 2、60 3、2 4、快速排序 5、简单选择排序

6.数据,指针,数据,指针 三 判断 1. 答:√ 2. 答:× 3. 答:× 4. 答:√ 5. 答:× 四、应用题

1. 答:该十字链表有一个十字链表表头结点,max(m,n)个行列表头结点。另外,每个非零元素对应一个结点,即k个元素结点,所以共有max(m,n)+k+1个结点。

2. 答:(1)最小生成树的定义略。(2)最小生成树有两棵。(限于篇幅,下面的生成树只给出顶点集合和边集合,边以三元组(Vi,Vj,W)形式),其中W代表权值。V(G)={1,2,3,4,5} E1(G)={(4,5,2),(2,5,4),(2,3,5),(1,2,7)};E2(G)={(4,5,2),(2,4,4),(2,3,5),(1,2,7)} 3. 答:采用顺序查找法:文件中记录可以以任意持续存放。 采用折半查找法:文件中的记录必须按照关键字从小到大有序存放。

采用分块查找法:将文件分成若干个块,每一个快中的记录可以任意的存放,但块之间的必须按照关键字从小到大的次序存放,即前一块中的所有记录的关键字的值必须小于后一块的所有记录的关键字的字值。 4. 答:排序过程如下: (1)[]88,33,22,55,99,11,66 (2)[11],33,22,55,99,88,66 (3)[11,22],33,55,99,88,66 (4)[11,22,33],55,99,88,66 (5)[11,22,33,55],99,88,66

(6)[11,22,33,55,66],99,88 (7)[11,22,33,55,66,88],99 (8)[11,22,33,55,66,88,99]

本文来源:https://www.bwwdw.com/article/551x.html

Top