第一章 单元测试
1、单选题:研究数据结构就是研究( )。
A:
数据的逻辑结构、存储结构及其数据在运算上的实现
B:
数据的逻辑结构和存储结构
C:
数据的存储结构
D:
数据的逻辑结构
正确答案:【
数据的逻辑结构、存储结构及其数据在运算上的实现
】
2、单选题:关于算法的说法,错误的是( )。
A:
其他三项都是错误的
B:
算法最终必须由计算机程序实现
C:
为解决某问题的算法和为该问题编写的程序含义是相同的
D:
算法的可行性是指指令不能有二义性
正确答案:【
其他三项都是错误的
】
3、单选题:数据的( )包括集合、线性、树和图4种基本类型。
A:
算法描述
B:
基本运算
C:
存储结构
D:
逻辑结构
正确答案:【
逻辑结构
】
4、单选题:数据的存储结构包括顺序、链式、散列和( )4种基本类型。
A:
向量
B:
索引
C:
集合
D:
数组
正确答案:【
索引
】
5、单选题:下面算法的时间复杂度为( )。for(i=0;i<m;i++) for(j=0;j<n;j++) A[i][j]=i*j;
A:
O(n2)
B:
O(m×n)
C:
O(m2)
D:
O(m+n)
正确答案:【
O(m×n)
】
6、多选题:以下( )属于设计一个“好”的算法应考虑达到的目标。
A:
正确性
B:
健壮性
C:
可读性
D:
效率与低存储量要求
正确答案:【
正确性
;
健壮性
;
可读性
;
效率与低存储量要求
】
7、多选题:依据所有数据成员之间的逻辑关系的不同,数据结构分为( )。
A:
非线性结构
B:
逻辑结构
C:
线性结构
D:
物理结构
正确答案:【
非线性结构
;
线性结构
】
8、判断题:在存储数据时,不仅要考虑存储各数据元素的值,而且还要存储数据元素之间的关系。
A:对
B:错
正确答案:【对】
9、判断题:在逻辑结构定义的操作与具体实现有关。
A:对
B:错
正确答案:【错】
10、判断题:算法是对解题方法和步骤的描述。
A:错
B:对
正确答案:【对】
11、判断题:算法分析的两个主要方面是时间复杂度和空间复杂度的分析。
A:对
B:错
正确答案:【对】
第二章 单元测试
1、单选题:线性表是( )。
A:
一个无限序列,可以为空。
B:
一个有限序列,可以为空。
C:
一个无限序列,不能为空。
D:
一个有限序列,不能为空。
正确答案:【
一个有限序列,可以为空。
】
2、单选题:若某线性表中最常用的操作是取第i个元素和查找第i个元素的前驱,则采用()存储方法最节省时间。
A:
循环链表
B:
顺序表
C:
双向链表
D:
单链表
正确答案:【
顺序表
】
3、单选题:单链表中,增加一个头结点的目的是为了( )。
A:
标识表结点中首结点的位置
B:
方便运算的实现
C:
说明单链表是线性表的链式存储
D:
使单链表至少有一个结点
正确答案:【
方便运算的实现
】
4、单选题:在带有头结点的单链表Head中,要向表头插入一个由指针p指向的结点,则执行( )。
A:
p->next=Head; Head=p;
B:
p->next=Head; p=Head;
C:
Head=p;p->next=Head;
D:
p->next=Head->next; Head->next=p;
正确答案:【
p->next=Head->next; Head->next=p;
】
5、单选题:在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是()。
A:
删除第i个元素(1≤i≤n)
B:
将n个元素从小到大排序
C:
访问第i个元素(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
D:
在第i个元素后插入一个新结点(1≤i≤n)
正确答案:【
访问第i个元素(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
】
6、多选题:下列说法正确的有( )。
A:
数据的逻辑结构与数据元素本身的内容和形式无关
B:
所谓数据的逻辑结构是指数据元素之间的逻辑关系
C:
从逻辑关系上讲,数据结构分为两大类:线性结构和非线性结构
D:
“同一数据逻辑结构中的所有数据元素都具有相同的特性”是指数据元素所包含的数据项的个数相等
E:
算法和程序原则上没有区别,在讨论数据结构时二者通用
正确答案:【
数据的逻辑结构与数据元素本身的内容和形式无关
;
所谓数据的逻辑结构是指数据元素之间的逻辑关系
;
从逻辑关系上讲,数据结构分为两大类:线性结构和非线性结构
】
7、判断题:线性表的逻辑顺序和存储顺序总是一致的。
A:对
B:错
正确答案:【错】
8、判断题:在线性表的顺序存储结构中,插入和删除时移动元素的个数与该元素的位置有关。
A:错
B:对
正确答案:【对】
9、判断题:顺序存储结构只能存储线性结构,链式存储结构只能存储非线性结构。
A:错
B:对
正确答案:【错】
10、判断题:线性表的链式存储结构优于顺序存储结构。
A:错
B:对
正确答案:【错】
11、判断题:链式存储方式以指针表示元素间的逻辑关系。
A:错
B:对
正确答案:【对】
第三章 单元测试
1、判断题:在顺序栈空的情况下不能进行出栈操作,否则将产生“下溢”。
A:对
B:错
正确答案:【对】
2、判断题:栈和队列都是限制存取位置的线性表。
A:对
B:错
正确答案:【对】
3、判断题:若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,则不可能得到出栈序列:a,f,e,d,c,b。
A:对
B:错
正确答案:【错】
4、判断题:入栈操作和入队列操作在链式存储结构上实现时一般不需要考虑栈溢出的情况。
A:对
B:错
正确答案:【对】
5、判断题:同一个栈内的各个数据元素类型可以不一致。
A:对
B:错
正确答案:【错】
6、多选题:以下说法中正确的是( )
A:
队列被称为“先进后出”表。
B:
栈是一种操作不受限制的线性表。
C:
当队列中无数据元素时,称空队列。
D:
栈是一种只允许在一端进行插入和删除的线性表。
正确答案:【
当队列中无数据元素时,称空队列。
;
栈是一种只允许在一端进行插入和删除的线性表。
】
7、多选题:以下说法中错误的是( ) 。
A:
栈不能对输入序列部分或全局求逆。
B:
top=-1时为空栈,元素进栈时指针top不断减1。
C:
当top等于数组最大下标时则栈满。
D:
利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,这种形式的栈称为顺序栈。
正确答案:【
栈不能对输入序列部分或全局求逆。
;
top=-1时为空栈,元素进栈时指针top不断减1。
】
8、多选题:已知一个栈的进栈序列是a1,a2,a3….an.其输出序列为1,2,3…n,若a3=1则a1为( )
A:
一定是2
B:
不可能是3
C:
不可能是2
D:
可能是2
E:
可能是3
正确答案:【
一定是2
;
不可能是2
;
可能是3
】
9、单选题:栈的特点是( )
A:
进优于出
B:
先进后出
C:
出优于进
D:
先进先出
正确答案:【
先进后出
】
10、单选题:设循环队列的容量为20,序号从0到19,经过一系列的入队和出队后,front=5,rear=10,问队列中有多少个元素(采用节省一个队列存储空间的方式)。
A:
4
B:
5
C:
6
D:
7
正确答案:【
5
】
11、单选题:一个队列的入队序列是1,2,3,4,则队列的出队序列是( )
A:
1,4,3,2
B:
3,2,4,1
C:
4,3,2,1
D:
1,2,3,4
正确答案:【
1,2,3,4
】
12、单选题:一般情况下,将递归算法转换成等价的非递归算法应该设置( )
A:
栈
B:
栈或队列
C:
队列
D:
数组
正确答案:【
栈
】
13、单选题:设用链表作为栈的存储结构则退栈操作( )
A:
对栈不作任何判别
B:
必须判别栈是否为满
C:
必须判别栈是否为空
D:
判别栈元素的类型
正确答案:【
必须判别栈是否为空
】
第四章 单元测试
1、判断题:KMP算法的特点是在模式匹配时指示主串的指针不会变小。
A:对
B:错
正确答案:【对】
2、判断题:空串与空格串是相同的。
A:错
B:对
正确答案:【错】
3、判断题:串的长度是指串中不同字符的个数。
A:对
B:错
正确答案:【错】
4、判断题:设有两个串P和Q,其中Q是P的子串,把Q在P中首次出现的位置作为子串Q在P中的位置的算法称为模式匹配算法。
A:错
B:对
正确答案:【对】
5、判断题:设模式串(子串)的长度为m,目标串(主串)的长度为n。当n≈m且处理只匹配一次的模式时,简单模式匹配(BF)算法所花费的时间代价也可能会比KMP算法更节省。
A:错
B:对
正确答案:【对】
6、多选题:串是一种特殊的线性表,下列不能体现其特殊性的是( )
A:
可以链接存储
B:
数据元素是字符型数据
C:
数据元素可以是非字符数据
D:
可以顺序存储
正确答案:【
可以链接存储
;
数据元素可以是非字符数据
;
可以顺序存储
】
7、多选题:以下说法中错误的是( )
A:
串中的元素只能是字母
B:
串是一种特殊的线性表
C:
空串就是空白串
D:
串的长度必须大于零
正确答案:【
串中的元素只能是字母
;
空串就是空白串
;
串的长度必须大于零
】
8、多选题:两个串相等必须有( )
A:
串长度任意
B:
串长度相等
C:
串中各位置字符均对应相等
D:
串中的各位置字符任意
E:
串长度不相等
正确答案:【
串长度相等
;
串中各位置字符均对应相等
】
9、单选题:若串S=”software”,其子串的数目是( )
A:
9
B:
8
C:
36
D:
37
正确答案:【
37
】
10、单选题:下面( )不是 “abcd321ABCD”的子串( )
A:
abcd
B:
321AB
C:
abcAB
D:
21AB
正确答案:【
abcAB
】
11、单选题:已知模式串为“aaab”,其next数组值为( )
A:
0,1,2,0
B:
-1,0,1,2
C:
-1,1,0,0
D:
0,0,1,2
正确答案:【
-1,0,1,2
】
12、单选题:设主串为“abccdcdccdbaa”,模式串为“cdcc”,用BF算法在第( )次匹配成功。
A:
4
B:
6
C:
5
D:
7
正确答案:【
6
】
13、单选题:设串s1=“ABCDEFG”,s2=“12345”,用字符数组从0下标位置存储,函数strcat(s, t)返回s和t串的连接串,strsub(s, i, j)返回串s中从第i个字符开始的连续j个字符组成的子串,strlen(s)返回串s的长度,则strcat(strsub(s1, 2, strlen(s2)), strsub(s1, strlen(s2),2))的结果是( )
A:
BCDEFG1
B:
CDEFGFG
C:
CD12345
D:
CDEFG12
正确答案:【
CDEFGFG
】
第五章 单元测试
1、判断题:稀疏矩阵压缩存储后,必会失去随机存取功能。
A:对
B:错
正确答案:【对】
2、判断题:数组可看成线性结构的一种推广,因此与线性表一样,可以对它进行插入,删除等操作。
A:错
B:对
正确答案:【错】
3、判断题:数组的存储结构是一组连续的内存单元。
A:对
B:错
正确答案:【对】
4、判断题:广义表中原子个数即为广义表的长度。
A:错
B:对
正确答案:【错】
5、判断题:广义表中元素的个数即为广义表的深度。
A:对
B:错
正确答案:【错】
6、多选题:广义表((a), (a))的表头和表尾是( )
A:
b
B:
(a)
C:
a
D:
((a))
正确答案:【
(a)
;
((a))
】
7、多选题:以下属于特殊矩阵的是( )
A:
下三角矩阵
B:
上三角矩阵
C:
对角矩阵
D:
对称矩阵
正确答案:【
下三角矩阵
;
上三角矩阵
;
对角矩阵
;
对称矩阵
】
8、多选题:以下不属于数组操作的是( )
A:
插入
B:
删除
C:
存取
D:
查找
E:
修改
正确答案:【
插入
;
删除
】
9、单选题:对行下标由1到50、列下标由1到80的二维数组a,若该数组的起始地址为2000且每个元素占2个存储单元,并以行为主序顺序存储,则元素a[45][68]的存储地址为( )
A:
9175
B:
9173
C:
9172
D:
9174
正确答案:【
9174
】
10、单选题:在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的( )
A:
行号
B:
元素值
C:
列号
D:
非零元素个数
正确答案:【
行号
】
11、单选题:设有一个10阶的下三角矩阵A(包括对角线),按照从上到下、从左到右的顺序存储到连续的55个存储单元中,每个数组元素占1个字节的存储空间,则A[5][4]地址与A[0][0]的地址之差为( )
A:
19
B:
10
C:
28
D:
55
正确答案:【
19
】
如有任何疑问请及时联系QQ 50895809反馈