绪论 单元测试
1、判断题:本课程是面向非计算机专业学生开放,要求学生了解计算机解决现实问题的方式和策略,学习数据结构的基本知识,着重培养学生的计算思维能力
A:错
B:对
正确答案:【对】
第一章 单元测试
1、单选题:以下那个数据结构是适用于”数据必须以相反的顺序存储然后检索” ?
A:Stack
B:Queue
C:List
D: Liink List
正确答案:【Stack】
2、判断题:判断下列说法是否正确:数据结构中数据元素之间的逻辑关系称为数据的逻辑结构。
A:错
B:对
正确答案:【对】
3、单选题:关系数据模型的基本数据结构是: A:树
B:图
C:索引
D:关系
正确答案:【图】
4、单选题:数据挖掘算法主要有聚类算法、关联算法、决策树算法和回归分析等,各种算法用于解决不同的实际问题,某分行拟通过对县域机构数量与存款市场竞争力的相关性分析,进 而建立两者之间的函数表达式,用新思维拓展县域市场,提升县域存款的市场竞争力。则可以采用的是( )
A:回归分析
B:聚类分析
C:决策树算法
D:关联算法
正确答案:【回归分析】
5、判断题:算法一般用类C语言之类的伪码来描述,如果用C语言等高级语言来描述,则算法实际上就是程序了。
A:对
B:错
正确答案:【错】
6、单选题:以下数据结构中哪一个是非线性结构?
A:线性表
B:队列
C:
二叉树
D:栈
正确答案:【
二叉树
】
7、单选题:树最适合用来表示
A:
元素之间具有分支层次关系的数据
B:有序数据元素
C:元素之间无联系的数据
D:无序数据元素
正确答案:【
元素之间具有分支层次关系的数据
】
8、单选题:在存储数据时,通常不仅要存储各数据元素的值,而且还要存储
A:数据的处理方法
B:数据的存储方法
C:数据元素的类型
D:
数据元素之间的关系
正确答案:【
数据元素之间的关系
】
9、单选题:计算机算法指的是: A:排序方法
B:
解决问题的有限运算序列
C:调度方法
D:计算方法
正确答案:【
解决问题的有限运算序列
】
10、单选题:研究数据结构就是研究
A:
数据的逻辑结构、存储结构及其基本操作
B:数据的逻辑结构和存储结构
C:数据的存储结构
D:数据的逻辑结构
正确答案:【
数据的逻辑结构、存储结构及其基本操作
】
第二章 单元测试
1、单选题:下面关于线性表的叙述错误的是( )。
A:线性表采用链式存储不必占用一片连续的存储空间
B:线性表采用顺序存储便于插入和删除操作的实现
C:线性表采用顺序存储必须占用一片连续的存储空间
D:线性表采用链式存储便于插入和删除操作的实现
正确答案:【线性表采用顺序存储便于插入和删除操作的实现】
2、单选题:链表不具备的特点是
A:插入删除不需要移动元素
B:可随机访问任一结点
C:不必事先估计存储空间
D:所需空间与其长度成正比
正确答案:【可随机访问任一结点】
3、单选题:线性表是具有n个()的有限序列
A:数据项
B:数据元素
C:字符
D:表元素
正确答案:【数据元素】
4、单选题:在一个长度为n的顺序表中,在第i个元素之前插入一个新元素时,需向后移动( )个元素。
A:n-i+1
B:n-i-1
C:i
D:n-i
正确答案:【n-i+1】
5、单选题:对线性表进行二分查找时,要求线性表必须
A:以链接方式存储,且结点按关键字有序排序
B:以顺序方式存储
C:以链接方式存储
D:以顺序方式存储,且结点按关键字有序排序
正确答案:【以顺序方式存储,且结点按关键字有序排序】
6、单选题:下述哪一条是顺序存储结构的优点?
A:可方便地用于各种逻辑结构的存储表示
B:插入运算方便
C:存储密度大
D:删除运算方便
正确答案:【存储密度大】
7、单选题:若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。
A:单循环链表
B:顺序表
C:双链表
D:带头结点的双循环链表
正确答案:【顺序表】
8、单选题:静态链表中指针表示的是( )
A:内存地址
B:数组下标
C:下一元素地址
D:左、右孩子地址
正确答案:【下一元素地址】
9、单选题:指针的全部作用就是( )
A:存储某数据
B:指向某结点
C:指向某变量
D:指向某常量
正确答案:【指向某结点】
10、单选题:单链表的一个存储结点包含()
A:数据域或指针域
B:指针域或链域
C:指针域和链域
D:数据域和链域
正确答案:【数据域和链域】
第三章 单元测试
1、单选题:设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为
A:2,3,6,5,8
B:3,2,5,8,6
C:3,2,5,6,8
D:2,3,5,8,6
正确答案:【3,2,5,6,8 】
2、单选题:排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法称为
A:插入排序
B:起泡排序
C:选择排序
D:希尔排序
正确答案:【插入排序】
3、单选题:快速排序方法在( )情况下最不利于发挥其长处
A:要排序的数据量太大
B:要排序的数据个数为奇数
C:要排序的数据已基本有序
D:要排序的数据中含有多个相同值
正确答案:【要排序的数据已基本有序】
4、单选题:对n个不同的数据进行冒泡排序,实现从小到大排序,在下列哪种情况下比较的次数最多 ()
A:从大到小排列好的
B:从小到大排列好的
C:数据无序
D:数据基本有序
正确答案:【从大到小排列好的】
5、单选题:在所有的排序方法中,关键字比较的次数与记录的初始排列次序无关的是
A:直接选择排序
B:希尔排序
C:冒泡排序
D:直接插入排序
正确答案:【直接选择排序】
6、单选题:关于排序算法,下列说法错误的是:
A:归并排序的最坏时间复杂度是 O(n*log(n))
B:堆排序的平均时间复杂度是 O(n*log(n))
C:插入排序的最坏时间复杂度是 O(n2)
D:快速排序的最坏时间复杂度是 O(n*log(n))
正确答案:【快速排序的最坏时间复杂度是 O(n*log(n))】
7、单选题:下列排序算法中存储消耗最大的是?()
A:插入排序
B:堆排序
C:归并排序
D:快速排序
正确答案:【归并排序】
8、单选题:以下哪种排序算法在最坏情况下的时间复杂度最小?
A:归并排序
B:冒泡排序
C:选择排序
D:插入排序
正确答案:【归并排序】
9、单选题:待排序元素规模较小时,宜选取哪种排序算法效率最高()
A:希尔排序
B:堆排序
C:归并排序
D:冒泡排序
正确答案:【冒泡排序】
10、单选题:若用冒泡排序对关键字序列{10,8,6,4,2},进行从小到大的排序,所需进行的关键字比较总次数是
A:25
B:10
C:15
D:20
正确答案:【10】
第四章 单元测试
1、单选题:一个栈的进栈序列是a,b,c,d,e,则栈的不可能的输出序列是
A:dceab
B:decba
C:abcde
D:edcba
正确答案:【dceab】
2、单选题:设计一个判别表达式中左、右括号是否配对出现的算法,采用()数据结构最佳
A:栈
B:线性表的链式存储结构
C:队列
D:线性表的顺序存储结构
正确答案:【栈】
3、单选题:和顺序栈相比,链栈有一个比较明显的优势是
A:插入操作更容易实现
B:通常不会出现栈空的情况
C:删除操作更容易实现
D:通常不会出现栈满的情况
正确答案:【通常不会出现栈满的情况】
4、单选题:栈的插入和删除操作在
A:任意位置
B:栈底
C:指定位置
D:栈顶
正确答案:【栈顶】
5、单选题:若以S和X分别表示进栈和退栈操作,则对初始状态为空的栈可以进行的栈操作系列合法的是
A:SXSXXSSX
B:SXSSXXXX
C:SXXSXSSX
D:SSSXXSXX
正确答案:【SSSXXSXX】
6、单选题:对于栈操作数据的原则是( )
A:后进先出
B:先进先出
C:后进后出
D:不分顺序
正确答案:【后进先出】
7、单选题:若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是
A:j-i+1
B:i-j-1
C:i-j
D:不确定的
正确答案:【不确定的】
8、单选题:一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是
A:1 5 4 3 2
B:5 4 1 3 2
C:2 3 4 1 5
D:2 3 1 4 5
正确答案:【5 4 1 3 2】
9、单选题:输入序列为ABC,可以变为CBA时,经过的栈操作为
A:push,push,pop,pop,push,pop
B:push,pop,push,pop,push,pop
C:push,push,push,pop,pop,pop
D:push,pop,push,push,pop,pop
正确答案:【push,push,push,pop,pop,pop】
10、多选题:栈在( )中应用
A:表达式求值
B:其他都是
C:递归调用
D:子程序调用
正确答案:【表达式求值;其他都是;递归调用;子程序调用】
第五章 单元测试
1、单选题:将递归算法转换成对应的非递归算法时,通常需要使用( )来保存中间结果
A:栈
B:队列
C:树
D:链表
正确答案:【栈】
2、单选题:一个对象如果( )由它自身来定义(或描述),则称其为递归。
A:不能
B:部分的
C:完全
D:全部的
正确答案:【部分的】
3、单选题:下面哪种情况不能用递归来实现
A:直接插入排序
B:汉诺塔
C:阶乘函数
D:八皇后
正确答案:【直接插入排序
】
4、单选题:一个递归函数能够正确运行的必要条件是
A:有分支结构
B:有递归出口
C:有输入
D:有循环结构
正确答案:【有递归出口】
5、单选题:在递归函数的递归调用过程中问题的规模是
A:逐渐变大的
B:有时大有时小
C:逐渐变小的
D:不变的
正确答案:【逐渐变小的】
6、单选题:一个递归算法必须包括
A:迭代部分
B:终止条件和递归部分
C:终止条件和迭代部分
D:递归部分
正确答案:【终止条件和递归部分】
7、单选题:在将一个函数的实现从递归实现改为非递归实现时,一般需要用到下列哪个数据结构?
A:队列
B:栈
C:二叉树
D:双向链表
正确答案:【栈】
8、单选题:若实现一个未加入任何优化的递归版本的斐波那契序列实现,该递归版本实现的时间复杂度和空间复杂度是怎样的?(不考虑整数溢出和机器的内存限制)
A:时间复杂度O(2^n), 空间复杂度O(n)
B:时间复杂度O(n), 空间复杂度O(n)
C:时间复杂度O(2^n), 空间复杂度O(2^n)
D:时间复杂度O(n),空间复杂度O(2^n)
正确答案:【时间复杂度O(2^n), 空间复杂度O(n)】
9、单选题:某递归算法的递归关系式为T( n ) = 2*T(n/2) + O( n ),那么它所对应的时间复杂度为
A:O(n)
B:O(log n)
C:O(n^2)
D:O(n*log n)
正确答案:【O(n*log n)】
10、单选题:采用递归方式对顺序表进行快速排序。下列关于递归次数的叙述中,正确的是()
A:递归次数与初始数据的排列次序无关
B:递归次数与每次划分后得到的分区的处理顺序无关
C:每次划分后,先处理较短的分区可以减少递归次数
D:每次划分后,先处理较长的分区可以减少递归次数
正确答案:【递归次数与每次划分后得到的分区的处理顺序无关】
如有任何疑问请及时联系QQ 50895809反馈