浙大远程数据结构与算法模拟卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构与算法》模拟卷答案
一、判断题(共10小题,每小题1分,共10分,正确的打“√”,错误的打“×”。答案填写在答题表格中。)
×1、数据元素的逻辑结构相同时物理结构也应该相同。
√2、设n为正整数,则下列算法的时间复杂性是O(log2n)。
sum = 0; do sum += n; while(n=n/2);
√3、在n个元素的顺序表中的第i个元素之前插入一个元素,需要移动n-i+1个元素。
×4、线性表的特点是每个元素都有一个前驱和一个后继。
×5、循环队列不存在空间溢出问题。
√6、n(n>0)个结点的树有n-1条边。
√7、满二叉树一定是完全二叉树,反之不然。
√8、树可以看成是连通的图。
×9、5个顶点的无向图最多可能有20条边。
×10、二叉排序树主要用于对数据的排序。
二、单项选择题(共20小题,每小题2分,共40分。答案填写在答题表格中。)
1、数据结构是研究数据的( D )以及它们之间的相互关系。
A. 理想结构,物理结构
B. 理想结构,抽象结构
C. 物理结构,逻辑结构
D. 抽象结构,逻辑结构
2、计算机算法是指( D )。
A.计算方法
B.排序方法
C.调度方法
D.解决问题的有限运算序列
3、顺序表的特点是( B )。
A. 逻辑上相邻的结点其物理位置不相邻
B. 逻辑上相邻的结点其物理位置亦相邻
C. 顺序表不是随机存储结构
D. 在顺序表中插入和删除操作比在链表上方便
4、线性表按链式方式存储时,每个结点的存储包括( B )两部分。
A.数据值与符号
B.数据与指针
C.数据与表名
D.数据项与符号
5、带头结点的单循环链表Head为空表的判定条件是( A ) 。
A. Head->next == Head
B. Head->next == NULL
C. Head != NULL
D. Head == NULL
6、若某堆栈的输入序列为1,2,3,…,n-1,n,输出序列的第1个元素为n,则第i个输出元素为( A )。
A. n-i+l B.n-i C.i D.哪个元素都有可能
7、在具有n个单元顺序存储的循环队列中,队满时共有( A )个元素。
A. n-1
B. n
C. n+1
D. n+2
8、设二叉树根结点的高度为1,所有含有16个结点的二叉树中,最小高度是(C)。
A. 3
B. 4
C. 5
D. 6
9、有1438个结点的完全二叉树共有( B )个叶子结点。
A. 718
B. 719
C. 738
D. 不确定
10、已知某二叉树的前序遍历序列是cedba ,中序遍历序列是debac ,那么它的后序遍历序列的第三个字符是( B )。
A. a
B. b
C. c
D. d
11、具有5个顶点的有向完全图有(C )条弧。
A. 10
B. 12
C. 20
D. 25
12、关于图的邻接矩阵,下列结论( C )是正确的。
A. 有向图的邻接矩阵总是不对称的
B. 无向图的邻接矩阵总是不对称的
C. 有向图的邻接矩阵可以是对称的,也可以是不对称的
D. 无向图的邻接矩阵可以是不对称的,也可以是对称的
13、已知一个图(有6个顶点)的邻接矩阵如下,则从顶点V1出发按深度优先搜索法进行遍历,则可能得到的一种顶点序列为( D ) 。
⎥
⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣
⎡01
1
010*********
0110001001001010110
A. V1,V2,V3,V4,V5,V6
B. V1,V3,V5,V2,V4,V6
C. V1,V3,V5,V6,V4,V2
D. V1,V2,V4,V5,V6,V3 14、一个无向图的最小生成树的个数,( D )。
A. 一定有多棵
B. 一定只有一棵
C. 有一棵或多棵
D. 可能不存在
15、下图为AOV 网,其合法的拓扑序列个数有( B )个。
A. 1
B. 2
C. 3
D. 4
16、顺序查找法适用于查找顺序存储或链式存储的线性表,查找成功的平均比较次数为
( D )。( 在此假定N 为线性表中结点数,且查找每个元素的概率相同)· A. N+1 B. 2log 2N C. log 2N D. N/2
17、对包含N 个元素的散列表进行查找,平均查找长度为( C ) 。
A. O(log2N)
B. O(N)
C. 不直接依赖于N
D.上述三者都不是
18、构造一棵深度为4的A VL 树,至少需要( A )个结点。(假设只有一个结点的A VL
树深度为0)
A. 12
B. 11
C. 7
D. 20
19、在下列几种排序方法中,要求内存量最大的是( B )。·
A. 快速排序
B. 归并排序
C. 插入排序
D. 选择排序
20、设有1000个无序的元素,希望用最快的速度挑选出其中最大的一个元素,最好用( A )排序法。·
A. 起泡排序
B. 快速排序
C. 插入排序
D. 基数排序
三、填空题(每空 2 分,共10空,共20分)
1、设一个图G={V,A},V={a,b,c,d,e,f},A={,,,
2、已知一棵完全二叉树有156个叶子结点,从上到下、从左到右对它的结点进行编号,根结点为1号。则该完全二叉树总共至少有____311____个结点;第191号结点的双亲结点是__95_____号;第63号结点的左孩子结点是_____126____号。
3、满三叉树的第i层(i>=1)的结点个数为3i-1,深度为h时该树中共有(3h-1)/2 结点。
4、下列程序把十进制数转换为十六进制数,请填写合适的语句成分。
void conversion10_16( )
{ InitStack(&s);
scanf(“%d”,&N);
while(N){
push( s, N%16 ) ___ ;
N = N/16;
}
while(!StackEmpty(s)){
e = pop( s )______ ;
if(e<=9)printf(“%d”,e);
else printf(“%c”,e-10+’A’);
}
} /* conversion */
四、简答题(共4小题,共30分)
1、可以生成如下二叉排序树的关键字的初始排列有几种?请写出其中的任意3个。(7分)
解:30种。任写5个序列如下:
(5,4,7,6,2,3,1);
(5,7,4,6,2,3,1);
(5,4,7,2,3,1,6);
(5,7,6,4,2,3,1);
(5,7,6,4,2,1,3)