数据结构专升本模拟题及参考答案Word文件下载.docx
《数据结构专升本模拟题及参考答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据结构专升本模拟题及参考答案Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
6、判定一个栈s(最多元素为m0)为空得条件就是().
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
rear-front—1 D.rear—front
8、设有两个串S1与S2,求串S2在S1中首次出现位置得运算称作( ).
A.连接 B.求子串
模式匹配 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
BCPQRST D.BCDEFEF
10、数组常用得两种基本操作就是()。
A。
建立与查找 B.删除与查找
插入与索引 D.查找与修改
二、填空题
1、所谓稀疏矩阵指得就是________且分布没有规律.
2、队列就是________得线性表,其运算遵循________得原则。
3、空格串就是________________________________。
4、简单选择排序与起泡排序中比较次数与序列初态无关得算法有________。
5、设图G有n个顶点与e条边,则对用邻接矩阵表示得图进行深度或广度优先搜索遍历时得时间复杂度为 ,而对用邻接表表示得图进行深度或广度优先搜索遍历时得时间复杂度为 ,图得深度或广度优先搜索遍历时得空间复杂度均为 。
6、一个图得 表示法就是唯一得,而表示法就是不唯一得。
三、算法
设二叉树采用二叉链表结构,试设计一个算法统计给定二叉树中得一度结点数目。
四、应用题
1、对关键字无序序列(36,25,48,12,65,43,20,58)进行直接选择排序,请写出每一趟排序得结果。
(10分)
2、对无向带权图,用克鲁斯卡尔算法构造最小生成树。
(10分)
8
5
9
2
1
20
6
3
A
B
D
F
C
E
G
4
3、已知记录关键字集合为(53,17,19,61,98,75,79,63,46,49)要求散列到地址区间(100,101,102,103,104,105,106,107,108,109)内,若产生冲突用开型寻址法得线性探测法解决。
要求写出选用得散列函数;
形成得散列表;
计算出查找成功时平均查找长度与查找不成功得平均查找长度.(设等概率情况)
4、设被查找文件有4095个记录,对每个记录查找记录概率相等,若采用顺序查找,成功查找平均比较次数为多少?
作业题
(二)
、单项选择题
1、 有六个元素6,5,4,3,2,1得顺序进栈,问下列哪一个不就是合法得出栈序列?
()
A、543 6 12B、45 3 126 C、34 65 21D、23415 6
2、栈与队都就是()
顺序存储得线性结构 B、链式存储得非线性结构
C、限制存取点得线性结构 D、 限制存取点得非线性结构
3、顺序查找法适合于存储结构为( )得线形表。
散列存储ﻩﻩﻩﻩB。
顺序存储或链接存储
C.压缩存储ﻩﻩﻩﻩD。
索引存储
4、分别以下列序列构造二叉排序树,与用其它三个序列所构造得结果不同得就是( )。
(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
C.log2nﻩﻩﻩﻩD.log2(n+1)
6、当在一个有序得顺序存储表上查找一个数据时,即可用折半查找,也可用顺序查找,但前者比后者得查找速度( )
A.必定快ﻩﻩﻩﻩﻩB.不一定
C.在大部分情况下要快ﻩﻩD.取决于表递增还就是递减
7、已知一有向图得邻接表存储结构如下图如示.根据有向图得深度优先遍历算法,从顶点v1出发,所得到得顶点序列就是( )。
A.v1,v2,v3,v5,v4ﻩﻩﻩB.v1,v2,v3,v4,v5
v1,v3,v4,v5,v2ﻩﻩﻩD。
v1,v4,v3,v5,v2
8、为了方便地对图状结构得数据进行存取操作,则其中数据存储结构宜采用()。
A.顺序存储ﻩﻩﻩB。
链式存储
C.索引存储ﻩﻩﻩﻩD。
散列存储
9、在一个具有n个顶点得有向图中,若所有顶点得出度之与为s,则所有顶点得入度之与为( ).
A.sﻩﻩﻩﻩﻩB.s—1
C.s+1ﻩﻩﻩﻩﻩD.n
10、如图所示,给出由7个顶点组成得无向图。
从顶点A出发,对它进行深度优先搜索得到得顶点序列就是( ).
AECD BFGﻩﻩﻩB.AGBFDEC
ACE DBG FﻩﻩﻩD.A B DGFEC
1、 设n0为哈夫曼树得叶子结点数目,则该哈夫曼树共有________个结点。
2、有数据WG={7,19,2,6,32,3,21,10},则所建Huffman树得树高就是________,带权路径长度WPL为________。
3、设一棵完全二叉树叶子结点数为k,最后一层结点数〉2,则该二叉树得高度为________________。
4、采用分块查找时,若线性表中共有625个元素,查找每个元素得概率相同,假设采用顺序查找来确定结点所在得块时,每块应分 个结点最佳。
5、设G为具有N个顶点得无向连通图,则G中至少有 条边.
6、哈夫曼树(HuffmanTree)又称 。
它就是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}得图得邻接矩阵,
(1)。
画出逻辑图;
(2)。
画出图得十字链表存储;
(3)。
基于邻接矩阵写出图得深度、广度优先遍历序列;
(4)。
计算图得关键路径.
作业题(三)
1.串得长度就是指()
A.串中所含不同字母得个数 B.串中所含非空格字符得个数
串中所含不同字符得个数 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。
算法分析得两个主要方面就是( )。
空间复杂性与时间复杂性 B。
正确性与简明性
可读性与文档性 D。
数据复杂性与程序复杂性
4.算法分析得目得就是( )。
A.找出数据结构得合理性 B.研究算法中得输入与输出得关系
C.分析算法得效率以求改进 D.分析算法得易懂性与文档性
5、 下面程序段得时间复杂性得量极为( )。
Int fun(intn)
{inti=1,s=1;
While(s〈n)
S+=++I;
ReturnI;
}
A.O(n/2) B.O(lbn)
C.O(n) D.O()
6、线性表就是( )。
A.一个有限序列,可以为空 B。
一个有限序列,不能为空
一个无限序列,可以为空 D.一个无限序列,不能为空
7、带头结点得单链表L为空得判定条件就是( )。
A.L==NULL B。
L-〉next= =NULL
L->
next= =L D。
L!
=NULL
8、 在一个长度为n得线性表中,删除值为x得元素时需要比较元素与移动元素得总次数为()。
A.(n+1)/2 B.n/2
n D.n+1
9、一个顺序存储线性表得第一个元素得存储地址就是90,每个元素得长度就是2,则第6个元素得存储地址就是()。
98 B.100
C.102 D.106
10、 如果某链表中最常用得操作就是取第i个结点及其前驱,则采用()存储方式最节省时间。
A.单链表 B。
双向链表
C.单循环链表 D.顺序表
二、填空题
1、 高度为2得二叉树得结点数至少有________个,高度为3得二叉树得结点数至少有________个。
2、在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用折半查找关键字值20,需做得关键字比较次数为________。
3、在有n个顶点得无向图中,每个顶点得度最大可达________。
4.已知广义表A=((a,b,c),(d,e,f)),则广义表运算head(tail(tail(A)))=.
5、数组(Array)就是n(n≥1)个 得有序组合,数组中得数据就是按顺序存储在一块 得存储单元中。
6、 采用顺序存储结构表示三元组表(Triple Table),来实现对稀疏矩阵得一种压缩存储形式,就称为 ,简称 表。
7、 运算就是矩阵运算中最基本得一项,它就是将一个m xn得矩阵变成另外一个nx m得矩阵,同时使原来矩阵中元素得行与列得位置互换而值保持不变。
1、对于下图所示得二叉树,画出二叉链表存储结构图。
2、请画出下图所示得树所对应得二叉树。
3、 已知一个无向图如下图所示,要求分别用Prim与Kruskal算法生成最小树(假设以①为起点,试画出构造过程)。
4、已知完全二叉树得第8层有8个结点,则其叶子结点就是多少?
5、 画出如图所示中树得二叉树得表示形式.
作业题(四)
1、将两个各有n个元素得有序表归并成一个有序表,其最少得比较次数就是()。
A.n B。
2n—1
C.2n D。
n-1
2、一个有n个顶点得无向连通图,它所包含得连通分量个数为( )。
0ﻩﻩﻩﻩﻩB。
1
C.nﻩﻩD。
n+1
3、数据文件得基本操作中最重要得操作就是()。
A.插入ﻩﻩﻩB.删除
C.修改ﻩﻩﻩﻩﻩD.检索
4、 对关键码序列28,16,32,12,60,2,5,72快速排序,从小到大一次划分结果为( )。
(2,5,12,16)26(60,32,72)ﻩﻩB.(5,16,2,12)28(60,32,72)
(2,16,12,5)28(60,32,72)ﻩﻩﻩﻩD。
(5,16,2,12)28(32,60,72)
5、如果只想得到1000个元素组成得序列中第5个最小元素之前得部分排序得序列,用( )方法最快.
堆排序 ﻩﻩﻩﻩﻩB。
快速排序
C.插入排序ﻩﻩﻩﻩD.归并排序
6.算法分析得目得就是()。
A.找出数据结构得合理性 B.研究算法中得输入与输出得关系
C.分析算法得效率以求改进 D.分析算法得易懂性与文档性
7、二叉树得第I层上最多含有结点数为( )
2I B。
2I-1-1 C.2I-1 D。
2I-1
8。
循环队列存储在数组A中,长度为m,则入队时得操作为()。
A、rear=rear+1 B、rear=(rear+1)mod(m-1)
C、rear=(rear+1)modmD、 rear=(rear+1)mod(m+1)
9、广义表满足Head(A)=Tail(A),则A为( )。
A.() B.(())
C.((),()) D。
((),(),())
10、 在一棵度为3得树中,度为3得结点数为2个,度为2得结点数为1个,度为1得结点数为2个,则度为0得结点数为()个。
3 B.4
5 D.6
1、在一个循环队列中,队首指针指向队首元素得_________。
2、数组中每一个数据通常称为 , 用下标区分,其中下标得个数由数组得决定.
3、一个图得 表示法就是唯一得,而表示法就是不唯一得。
4、在一个10阶得B-树上,每个数根结点中所含得关键字数目最多允许
个,最少允许 个
5、对关键字序列(52,80,63,44,48,91)进行一趟快速排序之后得得到结果为 。
10、高度为1得平衡二叉树得结点数至少有________个,高度为2得平衡二叉树得结点数至少有________个。
三判断
1、 顺序存储结构属于静态结构,链式结构属于动态结构。
()
2、即使对不含相同元素得同一输入序列进行两组不同得、合法得入栈与出栈组合操作,所得得输出序列也一定相同。
()
3、带权无向图得最小生成树必就是唯一得.()
4、B—树与B+树都可用于文件得索引结构。
( )
5、在用堆排序算法排序时,如果要进行增序排序,则需要采用"
大根堆”。
( )
1、 模式串p="abaabcac”得next函数值序列为多少?
2、 设二维数组A[5][6]得每个元素占4个字节,已知LOC(a0,0)=1000,A共占多少个字节?
A得终端结点a4,5得起始地址为多少?
按行与按列优先存储时,a2,5得起始地址分别为多少?
3、 设a,b,c,d,e五个字符得编码分别为1,2,3,4,5,并设标识符依以下次序出现:
ac,bd,aa,be,ab,ad,cd,bc,ae,ce。
要求用哈希(Hash)方法将它们存入具有10个位置得表中。
(1)将上述关键字(标识符)构造一个哈希函数,使得发生冲突尽可能地少;
(2)线性探测再散列法解决冲突。
写出上述各关键字在表中位置.
4、给定一个关键字序列{24,19,32,43,38,6,13,22},请写出快速排序第一趟得结果;
堆排序时所建得初始堆;
归并排序得全过程。
然后回答上述三中排序方法中那一种方法使用得辅助空间最少?
在最坏情况下那种方法得时间复杂度最差?
作业题(五)
1、一组记录得关键码为(46,79,56,38,40,84),则利用快速排序得方法,以第一个记录为基准得到得一次划分结果为()。
(38,40,46,56,79,84)ﻩﻩB。
(40,38,46,79,56,84)
C.(40,38,46,56,79,84)ﻩﻩD.(40,38,46,84,56,79)
2。
广义表A=(a,b,(c,d),(e,(f,g))),则下面式子得值为()。
GetHead(GetTail(GetHead(GetTail(GetTail(A)))))
A、(g) B、(d) C、 c D、d
3.对于有n个结点得二叉树,其高度为( )
A.nlog2n B.log2n C.⎣log2n⎦+1 D。
不确定
4、如图所示,给出由7个顶点组成得无向图。
从顶点1出发,对它进行深度优先搜索得到得顶点序列就是()。
1 35 4267ﻩﻩB.1 3 47625
C.153 4 276ﻩﻩD.1 24 765 3
5、 采用邻接表存储得图,其深度优先遍历类似于二叉树得().
A.中序遍历ﻩﻩﻩﻩB.先序遍历
C.后序遍历ﻩﻩﻩﻩD.按层次遍历
6、 已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={<V1,V2>
<V1,V3>,<
V1,V4>
,<V2,V5>
,〈V3,V5>
<V3,V6〉,<V4,V6>
〈V5,V7>
,〈V6,V7>},G得拓扑序列就是()。
A.V1,V3,V4,V6,V2,V5,V7ﻩﻩﻩﻩB。
V1,V3,V2,V6,V4,V5,V7
C.V1,V3,V4,V5,V2,V6,V7ﻩﻩD.V1,V2,V5,V3,V4,V6,V7
7、顺序查找法适用于查找顺序存储或链式存储得线性表,平均比较次数为( )。
在此假定N为线性表中结点数,且每次查找都就是成功得。
A.N+1ﻩﻩﻩﻩB。
2log2N
log2NﻩﻩﻩD。
N
8、下面关于m阶B树说法正确得就是( ).
①每个结点至少有两棵非空子树;
②树中每个结点至多有m一1个关键字;
③所有叶子在同一层上;
④当插入一个数据项引起B树结点分裂后,树长高一层。
①②③ﻩﻩﻩﻩﻩﻩﻩB。
②③
C.②③④ﻩﻩﻩﻩD。
③
9、 已知一个线性表(38,25,74,63,52,48),假定采用h(k)=k%7计算Hash地址进行散列存储,若利用链地址法处理冲突,则在该Hash表上进行查找得平均查找长度为()。
A.1、0ﻩﻩﻩﻩﻩﻩB.7/6
C.4/3ﻩﻩD。
3/2
10、在排序算法得实施过程中,使用辅助存储空间为O(1)得有( )。
A.简单排序法ﻩﻩﻩB、快速排序法
C.归并排序法ﻩﻩﻩﻩD、基数排序法
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、在执行某个排序算法过程中,出现了排序码朝着最终排序序列位置相反方向移动,则该算法就是不稳定得。
四、应用题
1、用十字链表表示一个有k个非零元素得mxn得稀疏矩阵,则其总得结点数为多少?
2、 G=(V,E)就是一个带有权得连通图,则:
请回答什么就是G得最小生成树;
(2).G为下图所示,请找出G得所有最小生成树。
3、请分别叙述在一个连续顺序文件中采用顺序查找法,折半查找法与分块查找法查找一个记录,该文件中记录应该满足什么条件?
4、设待排序文件之排序码为(88,33,22,55,99,11,66),采用顺序存储。
请用直接选择排序算法对上述文件进行排序,用图示说明排序过程。
—--—---——------—---—--—---——-----—-—-—-——----—
作业题一参考答案:
一、单项选择题
1、C2、B3、D4、C5、B
6、B7、A8、C9、D10、D
1、非零元很少
2、操作受限(或限定仅在表尾进行插入与限定仅在表头进行删除操作或限制存取点或特殊),先进先出(或后进后出)
3、简单选择排序
4、O(n2),O(e),O(n)
5、邻阵矩阵,邻接表
答:
intcount =0;
voidonechild ( Btreet)
{if(t!
=NULL)
{ onechild( t->lchild);
onechild(t-〉rchild);
if(t—〉lchild!
=NULL&&
(t—>
rchild!
=NULL||t->
lchild!
=NULL&