往年数据结构测试卷

本试卷为往年数据结构测试卷,题目包括:单项选择题。

本卷包括如下题型:

一、单项选择题

数据结构测试卷

一、单项选择题 (共50题,每题2分,共计100分)

(  C  )
1、树的后序遍历等价于该树对应二叉树的。
A、层次遍历
B、前序遍历
C、中序遍历
D、后序遍历
(  D  )
2、用二分(对半)查找表的元素的速度比用顺序法( D )
A、必然快
B、必然慢
C、相等
D、不能确定
(  C  )
3、从逻辑上可以把数据结构分为(  )两大类。
A、动态结构、静态结构
B、顺序结构、链式结构
C、线性结构、非线性结构
D、初等结构、构造型结构
(  D  )
4、(4分)判断一个顺序栈st (最多元素为StackSize )为栈满的条件表达式是(D)。
A、st. top!=StackSize
B、st. top!=0
C、st. top==-1
D、st. top ==StackSize-1
(  B  )
5、在待排序的记录关键字序列基本有序的前提下,效率最高的排序方法是(B) 。
A、直接选择排序
B、直接插入排序
C、快速排序
D、归并排序
(  A  )
6、在下面的几种排序方法中,需要内存空间最大的方法是(A)。
A、归并排序
B、直接选择排序
C、快速排序
D、插入排序
(  C  )
7、在下列查找方法中,平均查找长度与结点数量无直接关系的是(C) 。
A、顺序查找
B、分块查找
C、散列查找
D、基于B树的查找
(  C  )
8、输入序列为ABC,可以变为CBA时,经过的栈操作为()。
A、push,pop,push,pop,push,pop
B、push,push,push,pop,pop,pop
C、push,push,pop,pop,push,pop
D、push,pop,push,push,pop,pop
(  D  )
9、在稀疏矩阵的三元组顺序表中,每个三元组表示
A、矩阵中数据元素的行号、列号和数据值
B、矩阵中非零元素的数据值
C、矩阵中数据元素的行号和列号
D、矩阵中非零元素的行号、列号和数据值
(  B  )
10、在数据结构中,从存储结构上可以将之分为
A、动态结构和静态结构
B、顺序存储和非顺序存储
C、紧凑结构和非紧凑结构
D、线性结构和非线性结构
(  A  )
11、设有100个元素,用折半查找法进行查找时,最大、最小比较次数分别时
A、7,1
B、6,1
C、5,1
D、8,1
(  C  )
12、一个栈入栈序列是a,b,c,d, 则栈输出序列不可能是
A、d,c,b,a
B、c,d,b,a
C、d,c,a,b
D、a,b,c,d
(  A  )
13、现有一深度为4的二叉树,请问其最多有( )个结点
A、15
B、16
C、17
D、6
(  A  )
14、算法分析的主要方法
A、空间复杂度和时间复杂度
B、正确性和简明性
C、可读性和文档性
D、数据复杂性和程序复杂性
(  A  )
15、如果按关键码值递增的顺序依次将99个关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,在等概率情况下查找成功时的平均查找长度ASL为
A、50
B、48
C、45
D、47
(  C  )
16、二叉树是非线性数据结构,所以
A、它不能用顺序存储结构存储
B、它不能用链式存储结构存储
C、顺序存储结构和链式存储结构都能存储
D、顺序存储结构和链式存储结构都不能使用
(  C  )
17、与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )。
A、存储结构
B、存储实现
C、逻辑结构
D、运算实现
(  B  )
18、对22个记录的有序表作折半查找,当查找失败时,至少需要比较( )次关键字。
A、3
B、4
C、5
D、6
(  C  )
19、分别以下列序列构造二叉排序树,与用其它三个序列所构造的结果不同的是( )。
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)
(  B  )
20、设哈夫曼树中有199个结点,则该哈夫曼树中有( )个叶子结点。
A、99
B、100
C、101
D、102
(  B  )
21、假设以行序为主序存储二维数组A=array[1..100,1..100],设每个数据元素占2个存储单元,基地址为10,则LOC[5,5]=( )。
A、808
B、818
C、1010
D、1020
(  A  )
22、下面属于整数类 I 的实例的是()
A、229
B、0.229
C、229E-2
D、"229"
(  D  )
23、设顺序表的长度为 16,对该表进行简单插入排序。在最坏情况下需要的比较次数为()
A、15
B、60
C、30
D、120
(  D  )
24、设一组权值集合W=(15,3,14,2,6,9,16,17),要求根据这些权值集合构造一棵哈夫曼树,则这棵哈夫曼树的带权路径长度为( )。。
A、129
B、219
C、189
D、229
(  B  )
25、栈和队都是( )。
A、顺序存储的
B、线性结构
C、链式存储的
D、非线性结构
(  B  )
26、下列算法suanfa1中语句"x=x*2;"的执行次数是( )。
void suanfa1(int n)
{ int i,j,x=1;
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
x=x*2;
printf("%d",x);
}
A、n(n-1)/2
B、n(n+1)/2
C、n2
D、nlog2n
(  B  )
27、在二叉排序树中插入一个结点最坏情况下的时间复杂度为( )。
A、O(1)
B、O(n)
C、O(log2n)
D、O(n2)
(  A  )
28、线性链表不具有的特点是
A、随机访问
B、不必事先估计所需存储空间大小
C、插入与删除时不必移动元素
D、所需空间与线性表长度成正比
(  A  )
29、栈的插入与删除操作在( )进行。 (4.0分)
A、栈顶
B、栈底
C、任意位置
D、指定位置
(  C  )
30、关于链表的说法不正确的是( )。 (3.0分)
A、方便进行插入和删除操作
B、需要增加额外空间表示元素的逻辑关系
C、可以随机存取
D、是线性表的链式存储结构
(  B  )
31、设a,b为一颗二叉树的两个结点,在中序遍历时,a在b前面的条件是( )。 (3.0分)
A、a在b的右方
B、a在b的左方
C、a是b的祖先
D、a是b子孙
(  B  )
32、有5000个待排序的记录关键字,如果需要用最快的方法选出其中最大的5个记录关键字,则用下列( )方法可以达到此目的。
A、快速排序
B、堆排序
C、归并排序
D、插入排序
(  A  )
33、一棵二叉树有100个结点,则至少有( )个叶结点。
A、1
B、2
C、3
D、4
(  A  )
34、在哈夫曼编码中,根结点的权值是()。
A、根的左右两个子结点的权值之和
B、根的左右两个子结点的权值的平均值
C、所有结点的权值的平均值
D、所有结点的权值之和
(  A  )
35、下列算法的时间复杂度为( )N = n * n;While(n < 0) n++;N = n * 2;
A、O(1)
B、O(n)
C、O(n^(1/2))
D、O(n^2)
(  B  )
36、打印杨辉三角形时,可以使用的数据结构是( )。
A、线性表的顺序存储结构
B、队列
C、线性表的链式存储结构
D、栈
(  B  )
37、数据结构指的是数据之间的相互关系,即数据的组织形式。数据结构一般包括( )三方面内容。 (5.0分)
A、数据的逻辑结构.数据的存储结构.数据的描述
B、数据的逻辑结构.数据的存储结构.数据的运算
C、数据的存储结构.数据的运算.数据的描述
D、数据的逻辑结构.数据的运算.数据的描述
(  A  )
38、数据的存储结构主要有( )。 (5.0分)
A、顺序存储和链式存储
B、顺序存储和结构存储
C、链式存储和结构存储
D、索引存储和散列存储
(  B  )
39、当待排序序列基本有序时,以下排序方法中,( )最不利于其优势的发挥。 (2.0分)
A、直接选择排序
B、快速排序
C、冒泡排序
D、直接插入排序
(  C  )
40、在任何情况下,时间复杂度均为O(nlgn) 的不稳定的排序方法是( )。 (2.0分)
A、直接插入
B、快速排序
C、堆排序
D、归并排序
(  D  )
41、顺序表中,插入一个元素所需移动的元素平均数是()。(1分)
A、0
B、n
C、n+1
D、(n+1)/2
(  D  )
42、线性结构通常采用的两种存储结构是( )
A、散列方式和索引方式
B、链表和数组
C、线性存储结构和非线性存储结构
D、顺序存储结构和链式存储结构
(  B  )
43、一个向量第一个元素的地址是 100,每个元素的长度为 2,则第 5 个元素的地址是( )
A、100
B、108
C、110
D、120
(  C  )
44、带头结点的单链表 L 为空的条件是( )
A、L!=NULL
B、L==NULL
C、L->next==NULL
D、L->next==L
(  B  )
45、设有一个顺序栈 S,元素 1, 2, 3, 4, 5, 6 依次进栈,如果 6 个元素的出栈顺序为 2, 3, 4, 6, 5, 1,则顺序站的容量至少可以存储( )个元素
A、2
B、3
C、4
D、5
(  C  )
46、链栈与顺序栈相比,有一个比较明显的优点( )
A、插入操作更方便
B、删除操作更方便
C、通常不会出现栈满的情况
D、不会出现栈空的情况
(  D  )
47、对于顺序循环队列,以下说法正确的是( )
A、无法判断队列是否为空
B、无法判断队列是否为满
C、队列不可能满
D、以上说法都不对
(  D  )
48、一棵完全二叉树按层次遍历的序列为 ABCDEFGHI,则在前序遍历中结点 E 的直接前驱为结点( )
A、D
B、F
C、H
D、I
(  D  )
49、在双向循环链表的p所指结点之后插入s所指结点的操作是
A、p->right=s;  s->left=p;  p->right->left=s;  s->right=p->right;
B、p->right=s;  p->right->left=s;  s->left=p;  s->right=p->right;
C、s->left=p;  s->right=p->right;  p->right=s;  p->right->left=s;
D、s->left=p;  s->right=p->right;  p->right->left=s;  p->right=s;
(  C  )
50、若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若p1=n,则pi为
A、i
B、n=i
C、n-i+1
D、不确定