匙酪鄙集危定磺店淮冬涛惨揭
第一章 单元测试
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(m2)
B:
O(n2)
C:
O(m×n)
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->next; Head->next=p;
B:
p->next=Head; Head=p;
C:
p->next=Head; p=Head;
D:
Head=p;p->next=Head;
答案:
p->next=Head->next; Head->next=p;
5、
在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是()。
A:
删除第i个元素(1≤i≤n)
B:
访问第i个元素(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
C:
将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:
一定是2
C:
不可能是2
D:
不可能是3
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:
4,3,2,1
B:
1,2,3,4
C:
1,4,3,2
D:
3,2,4,1
答案:
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:
8
B:
37
C:
36
D:
9
答案:
37
10、
下面( )不是 “abcd321ABCD”的子串( )
A:
abcd
B:
321AB
C:
abcAB
D:
21AB
答案:
abcAB
11、
已知模式串为“aaab”,其next数组值为( )
A:
-1,0,1,2
B:
0,0,1,2
C:
0,1,2,0
D:
-1,1,0,0
答案:
-1,0,1,2
12、
设主串为“abccdcdccdbaa”,模式串为“cdcc”,用BF算法在第( )次匹配成功。
A:
4
B:
5
C:
6
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:
CDEFG12
B:
BCDEFG1
C:
CD12345
D:
CDEFGFG
答案:
CDEFGFG
上方为免费预览版答案,如需购买完整答案,请点击下方红字
点关注,不迷路,微信扫一扫下方二维码
关注我们的公众号:阿布查查 随时查看答案,网课轻松过
为了方便下次阅读,建议在浏览器添加书签收藏本网页
电脑浏览器添加/查看书签方法
1.按键盘的ctrl键+D键,收藏本页面
2.下次如何查看收藏的网页?
点击浏览器右上角-【工具】或者【收藏夹】查看收藏的网页
手机浏览器添加/查看书签方法
一、百度APP添加/查看书签方法
1.点击底部五角星收藏本网页
2.下次如何查看收藏的网页?
点击右上角【┇】-再点击【收藏中心】查看
二、其他手机浏览器添加/查看书签方法
1.点击【设置】-【添加书签】收藏本网页
2.下次如何查看收藏的网页?
点击【设置】-【书签/历史】查看收藏的网页
锭巧尸漓疮淌官酿啡扑狸沧逗