曹窘溅荚犊藐什抛谰撬诚痊单
设擅刮赎陕虏步瞬磷饱掏捍箱
绪论 单元测试
1、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的____和运算等的学科。
A 结构
B 算法
C 关系
D 运算
答案 关系
2、算法的描述形式包括
A 自然语言
B 流程图
C 类程序设计语言
D N-S图
答案 自然语言,流程图 ,类程序设计语言,N-S图
3、算法的特征包括有穷性、确定性、可行性和输入输出。
A 对
B 错
答案 对
4、对算法的描述包括程序形式和描述形式。
A 对
B 错
答案 对
5、描述形式是算法的最终形式
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、已知单向链表中指针p指向结点A,( )表示删除A的后继结点(若存在)的链操作(不考虑回收)。
A p—>next=p
B p=p—>next
C p=p—>next—>next
D p—>next=p—>next—>next
答案 p—>next=p—>next—>next
4、已知last指向单向简单链表的尾结点,将s所指结点加在表尾,不正确的操作是。
A s->next=NULL, last->next=s,last=s;
B s->next=NULL, last->next=s, s=last;
C last->next=s,s->next=NULL,last=s;
D last->next=s,last=s,last->next=NULL;
答案 s->next=NULL, last->next=s, s=last;
5、已知h是指向单向加头链表的首指针,删除表头结点的操作是_。
A p=h->next;free(p);h=h->next;
B free(h->next);h=h->next;
C p=h,h=p->next;free(p);
D p=h->next,h->next=p->next;free(p);
答案 p=h->next,h->next=p->next;free(p);
6、有N个元素组成的线性表,我们说此线性表的长度为( )
A n
B n+1
C n-1
D 0
答案 n
7、对线性表中的数据元素进行( )和( )等操作,实现表的长度的增长或缩短。
A 插入
B 遍历
C 访问
D 删除
答案 插入,删除
8、线性表的抽象数据类型定义
A 数据对象
B 函数关系
C 数据关系
D 基本操作
答案 数据对象,数据关系,基本操作
9、我们使用( ),实现线性表的顺序存储。
A 数值
B 函数
C 数组
D 语句
答案 数组
10、线性表的基本操作是用C语言中的( )对其进行表示的。
A 循环语句
B 函数
C 结构体
D 条件语句
答案 函数
11、 在链表中第i 个结点之前插入新的元素 e ,表的逻辑结构不变。
A 对
B 错
答案 错
12、在单链表中插入结点只需要()。但同时,若要在第( )个结点之前插入元素,修改的是第 ( )个结点的指针。
A i
B 修改指针
C i+1
D i-1
答案 i ,修改指针,i-1
13、单链表和线性表中所有基本操作相同,且编程实现方法相同。
A 对
B 错
答案 错
14、数字钟程序中使用的时间,可以是系统时间。
A 对
B 错
答案 对
15、和单链表的差别仅在于,判别链表中最后一个结点的条件不再是( ),而是( )。
A “后继是否为头结点”
B “前继是否为头结点”
C “前继是否为空”
D “后继是否为空”
答案 “后继是否为头结点”,“后继是否为空”
16、双向链表的“删除” 时需要同时修改两个方向上的指针,改变结点之间的逻辑关系。
A 对
B 错
答案 对
17、双向链表的“插入” 时不需要同时修改两个方向上的指针,改变结点之间的逻辑关系。
A 对
B 错
答案 错
18、 双向链表中,当指针p指向非空表中的非头尾结点时,以下哪个式子是正确的()
A p->next->prior=p
B p=p->next
C p->next =p->prior
D p=p->prior->next
答案 p->next->prior=p ,p=p->prior->next
19、 双向链表中,当指针p指向非空表中的非头尾结点时,以下哪个式子是正确的()
A p->next=p ->prior
B p->prior=p->next
C p->next->prior=p
D p=p->prior
答案 p->next->prior=p
20、 双向链表需要在结点中设两个指针域( )
A parent指针域
B prior指针域
C 数据域
D next指针域
答案 prior指针域,next指针域
第二章 单元测试
1、队列是一种( )的线性表。
A 先进先出
B 先进后出
C 只能插入
D 只能删除
答案 先进先出
2、设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为( )。
A front->next=s;front=s;
B s->next=rear;rear=s;
C rear->next=s;rear=s;
D s->next=front;front=s;
答案 rear->next=s;rear=s;
3、栈操作数据的原则是( )。
A 后进先出
B 先进先出
C 后进后出
D 不分顺序
答案 后进先出
4、栈与队列是一种特殊操作的线性表( )
A 对
B 错
答案 对
5、和链栈类似,用单链表来实现链队。根据队的先入先出(FIFO)原则,为了操作上的方便,使用一个( )和( )。
A 数据域
B 头指针
C 尾指针
D 指针域
答案 头指针,尾指针
6、队列的顺序存储结构用C语言中( )数据类型实现。
A 一维数组实现
B 二维数组实现
C 结构体
D 枚举型
答案 一维数组实现
7、栈和队列不能进行再分配了。
A 对
B 错
答案 错
8、队列允许在表的一端进行插入操作和删除操作。
A 对
B 错
答案 错
9、入栈需要修改地址指针。
A 对
B 错
答案 对
10、 链栈主要的运算,如插入、删除是在栈顶执行的。 链表的头部作栈顶是最方便的,需要像单链表那样为了运算方便附加一个头结点。
A 对
B 错
答案 错
11、链栈的结点结构与单链表的结点结构相同,由()和()组成。
A 指针域 双亲域
B 数据域 指针域
C 孩子域 指针域
D 双亲域
答案 数据域 指针域
12、 构造一个空栈S 时,不需要用动态存储空间分配函数。
A 对
B 错
答案 错
13、顺序栈中数据元素与栈顶指针的变化:非空栈中的栈顶指针top始终在的 ()下一个位置
A 栈中任意元素
B 栈顶元素
C 栈底元素
D 栈中元素
答案 栈顶元素
14、在初始化空顺序栈时一般不限定栈的最大容量,因为,栈在使用过程中所需最大空间的大小很难估计。
A 对
B 错
答案 对
15、利用()的存储单元依次存放自栈底到栈顶的数据元素,这种形式的栈称为顺序栈。
A 一组地址相同
B 一组地址不连续
C 一组地址连续
D 一组地址断开
答案 一组地址连续
第三章 单元测试
1、串(即字符串)是一种特殊的线性表,它的数据元素是( )。
A 数字
B 单个字符
C 图
D 表
答案 单个字符
2、包含零个字符(n=0)的串称为空串,通常记为Ф,其长度为零;空串是任意串的子串。
A 对
B 错
答案 对
3、空串与空格串相同
A 对
B 错
答案 错
4、串比较是按字符的ASCII值比较的,而不是按串的长度比较的。 StrCompare(‘data’, ‘structures’) ____ 0;
A 大于
B 等于
C 小于
D 小于等于
答案 小于
5、SubString( sub, ‘commander’, 1, 9) 求得 sub = ‘___‘;
A commanr
B coander
C commander
D comander
答案 commander
6、串的基本操作中,操作对象大多为“串的整体”。
A 对
B 错
答案 对
7、在串的表示和实现过程中,用一组地址不连续的存储单元存储串值中的字符序列,称为串的定长顺序存储方式。
A 对
B 错
答案 错
8、在顺序串中,用一个指针来指向最后一个字符,C语言的表示如下:typedef struct{ char dataMAXSIZE; int curlen;} SeqString;请定义一个串变量:
A structg s
B typedef struct s;
C SqString s;
D SeqString s;
答案 SeqString s;
9、在C语言中,存在一个称为“堆”的自由存储区,并由C语言的动态分配函数____来管理。
A malloc( )
B malloc( )和free( )
C free( )
D main()
答案 malloc( )和free( )
10、堆分配存储结构的串有顺序存储结构的特点,在操作中对串长又没有任何限制,因而在串处理的应用程序中常被选用。
A 对
B 错
答案 对
如需购买完整答案,请点击下方红字:
获取更多网课答案,请点击这里,进入www.mengmianren.com
特吗改遂桃梆谜沽噶塘叮湃花
菱帽附咳既团廷腹邓挺视办鹃