算法与数据结构(山东联盟)智慧树知到答案章节测试2023年烟台大学_第1页
算法与数据结构(山东联盟)智慧树知到答案章节测试2023年烟台大学_第2页
算法与数据结构(山东联盟)智慧树知到答案章节测试2023年烟台大学_第3页
算法与数据结构(山东联盟)智慧树知到答案章节测试2023年烟台大学_第4页
算法与数据结构(山东联盟)智慧树知到答案章节测试2023年烟台大学_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

绪论单元测试数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的____和运算等的学科。

A:关系

B:结构

C:算法

D:运算

答案:A算法的描述形式包括

A:自然语言

B:N-S图

C:流程图

D:类程序设计语言

答案:ABCD算法的特征包括有穷性、确定性、可行性和输入输出。

A:对

B:错

答案:A对算法的描述包括程序形式和描述形式。

A:对

B:错

答案:A描述形式是算法的最终形式

A:错

B:对

答案:A“数据结构”是介于()、()和()三者之间的一门核心课程。

A:计算机软件

B:语句

C:数学

D:计算机硬件

答案:ACD

著名计算机科学家沃思教授提出的公式:

程序 = (

) + (

),也说明了数据结构的重要性。

A:数据结构

B:语法

C:算法

D:编程环境

答案:AC描述非数值计算问题的数学模型不再是数学方程,而是数据结构(

)。

A:表

B:集合

C:树

D:图

答案:ABCD数据结构是一门研究(

)程序设计问题中计算机的(

)以及它们之间的(

)和(

)等的学科。

A:操作

B:非数值计算

C:操作对象

D:关系

答案:ABCD

顺序存储结构:借助元素在存储器中的(

)来表示数据元素间的逻辑关系。

A:地址

B:数值

C:结构

D:相对位置

答案:D第一章测试()是一种最简单的线性结构。

A:线性表

B:树

C:集合

D:图

答案:A(

)线性表的数据元素可以由所描述对象的各种特征的数据项组成。

A:散列存储

B:顺序存储

C:链式存储

D:有序存储

答案:C已知单向链表中指针p指向结点A,(

)表示删除A的后继结点(若存在)的链操作(不考虑回收)。

A:p=p—>next—>next

B:p—>next=p

C:p—>next=p—>next—>next

D:p=p—>next

答案:C已知last指向单向简单链表的尾结点,将s所指结点加在表尾,不正确的操作是____。

A:last->next=s,last=s,last->next=NULL;

B:s->next=NULL,last->next=s,s=last;

C:s->next=NULL,last->next=s,last=s;

D:last->next=s,s->next=NULL,last=s;

答案:B已知h是指向单向加头链表的首指针,删除表头结点的操作是_____。

A:p=h,h=p->next;free(p);

B:free(h->next);h=h->next;

C:p=h->next;free(p);h=h->next;

D:p=h->next,h->next=p->next;free(p);

答案:D有N个元素组成的线性表,我们说此线性表的长度为()

A:n

B:0

C:n-1

D:n+1

答案:A对线性表中的数据元素进行(

)和(

)等操作,实现表的长度的增长或缩短。

A:访问

B:遍历

C:插入

D:删除

答案:CD线性表的抽象数据类型定义

A:函数关系

B:数据对象

C:数据关系

D:基本操作

答案:BCD我们使用(

),实现线性表的顺序存储。

A:数组

B:语句

C:函数

D:数值

答案:A线性表的基本操作是用C语言中的(

)对其进行表示的。

A:函数

B:循环语句

C:条件语句

D:结构体

答案:A

在链表中第i

个结点之前插入新的元素

e,表的逻辑结构不变。

A:错

B:对

答案:A在单链表中插入结点只需要()。但同时,若要在第()个结点之前插入元素,修改的是第

()个结点的指针。

A:i+1

B:

i

C:i-1

D:修改指针

答案:BCD单链表和线性表中所有基本操作相同,且编程实现方法相同。

A:错

B:对

答案:A数字钟程序中使用的时间,可以是系统时间。

A:错

B:对

答案:B和单链表的差别仅在于,判别链表中最后一个结点的条件不再是(

),而是(

)。

A:“后继是否为头结点”

B:“前继是否为空”

C:“前继是否为头结点”

D:“后继是否为空”

答案:AD双向链表的“删除”

时需要同时修改两个方向上的指针,改变结点之间的逻辑关系。

A:对

B:错

答案:A双向链表的“插入”

时不需要同时修改两个方向上的指针,改变结点之间的逻辑关系。

A:对

B:错

答案:B

双向链表中,当指针p指向非空表中的非头尾结点时,以下哪个式子是正确的()

A:p->next->prior=p

B:p->next

=p->prior

C:p=p->next

D:p=p->prior->next

答案:AD

双向链表中,当指针p指向非空表中的非头尾结点时,以下哪个式子是正确的()

A:p->next->prior=p

B:p=p->prior

C:p->next=p

->prior

D:p->prior=p->next

答案:A

双向链表需要在结点中设两个指针域(

)

A:next指针域

B:parent指针域

C:数据域

D:prior指针域

答案:AD第二章测试队列是一种(

)的线性表。

A:先进后出

B:先进先出

C:只能删除

D:只能插入

答案:B设指针变量front表示链式队列的队头指针,指针变量rear表示链式队列的队尾指针,指针变量s指向将要入队列的结点X,则入队列的操作序列为(

)。

A:

s->next=front;front=s;

B:

front->next=s;front=s;

C:

rear->next=s;rear=s;

D:

s->next=rear;rear=s;

答案:C栈操作数据的原则是(

)。

A:后进先出

B:不分顺序

C:后进后出

D:先进先出

答案:A栈与队列是一种特殊操作的线性表(

A:对

B:错

答案:A和链栈类似,用单链表来实现链队。根据队的先入先出(FIFO)原则,为了操作上的方便,使用一个()和()。

A:尾指针

B:指针域

C:数据域

D:头指针

答案:AD队列的顺序存储结构用C语言中()数据类型实现。

A:一维数组实现

B:二维数组实现

C:枚举型

D:结构体

答案:A栈和队列不能进行再分配了。

A:错

B:对

答案:A队列允许在表的一端进行插入操作和删除操作。

A:错

B:对

答案:A入栈需要修改地址指针。

A:对

B:错

答案:A

链栈主要的运算,如插入、删除是在栈顶执行的。

链表的头部作栈顶是最方便的,需要像单链表那样为了运算方便附加一个头结点。

A:错

B:对

答案:A链栈的结点结构与单链表的结点结构相同,由()和()组成。

A:数据域

指针域

B:指针域

双亲域

C:孩子域

指针域

D:双亲域

答案:A

构造一个空栈S

时,不需要用动态存储空间分配函数。

A:错

B:对

答案:A顺序栈中数据元素与栈顶指针的变化:非空栈中的栈顶指针top始终在的

()下一个位置

A:栈顶元素

B:栈中元素

C:栈底元素

D:栈中任意元素

答案:A在初始化空顺序栈时一般不限定栈的最大容量,因为,栈在使用过程中所需最大空间的大小很难估计。

A:错

B:对

答案:B利用()的存储单元依次存放自栈底到栈顶的数据元素,这种形式的栈称为顺序栈。

A:一组地址连续

B:一组地址不连续

C:一组地址相同

D:一组地址断开

答案:A第三章测试串(即字符串)是一种特殊的线性表,它的数据元素是()。

A:图

B:表

C:数字

D:单个字符

答案:D包含零个字符(n=0)的串称为空串,通常记为Ф,其长度为零;空串是任意串的子串。

A:对

B:错

答案:A空串与空格串相同

A:错

B:对

答案:A串比较是按字符的ASCII值比较的,而不是按串的长度比较的。

StrCompare(‘data’,‘structures’)

________

0;

A:小于

B:小于等于

C:等于

D:大于

答案:ASubString(sub,‘commander’,1,9)

求得

sub=‘_______’;

A:comander

B:commanr

C:coander

D:commander

答案:D串的基本操作中,操作对象大多为“串的整体”。

A:错

B:对

答案:B在串的表示和实现过程中,用一组地址不连续的存储单元存储串值中的字符序列,称为串的定长顺序存储方式。

A:对

B:错

答案:B在顺序串中,用一个指针来指向最后一个字符,C语言的表示如下:typedefstruct{

char

data[MAXSIZE];

int

curlen;}SeqString;请定义一个串变量:

A:

structgs

B:SqStrings;

C:SeqStrings;

D:typedefstructs;

答案:C在C语言中,存在一个称为“堆”的自由存储区,并由C语言的动态分配函数________来管理。

A:malloc()

B:malloc()和free()

C:free()

D:main()

答案:B堆分配存储结构的串有顺序存储结构的特点,在操作中对串长又没有任何限制,因而在串处理的应用程序中常被选用。

A:错

B:对

答案:B第四章测试设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为(

)。

A:

i/2

B:2i-1

C:

2i

D:

2i+1

答案:C设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是(

)。

A:任一结点无左孩子

B:空或只有一个结点

C:任一结点无右孩子

D:高度等于其结点数

答案:C二叉树的第k层的结点数最多为()

A:2的k次幂-1

B:2的k-1次幂

C:2K+1

D:2K-1

答案:B设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为(

)。

A:BCDA

B:BADC

C:CBDA

D:CDAB

答案:B满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。()

A:对

B:错

答案:A设一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。()

A:对

B:错

答案:B设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是(

)。

A:

任一结点无左孩子

B:空或只有一个结点

C:任一结点无右孩子

D:高度等于其结点数

答案:C

树的带权路径长度定义为,树中所有叶子结点的带权路径长度之和(对所有叶子结点)。()

A:对

B:错

答案:A第五章测试设某无向图有n个顶点,则该无向图的邻接表中有(

)个表头结点。

A:

n(n-1)

B:n/2

C:2n

D:n

答案:D设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为(

)。

A:第i行非0或非∞元素的个数之和

B:第i行0元素的个数之和

C:第i列非0或非∞元素的个数之和

D:

第i列0元素的个数之和

答案:D设某完全无向图中有n个顶点,则该完全无向图中有()条边

A:n(n-1)/2

B:n的2次幂-1

C:n的2次幂

D:n(n-1)

答案:C

子串“ABC”在主串“AABCABCD”中的位置为2。(

)

A:对

B:错

答案:A

对链表进行插入和删除操作时不必移动链表中结点。(

)

A:对

B:错

答案:A深度为k的完全二叉树中最少有(

)个结点。

A:

2k-1+1

B:

2k-1

C:

2k-1-1

答案:B设某二叉树中度数为0的结点数为N0,度数为1的结点数为Nl,度数为2的结点数为N2,则下列等式成立的是(

)。

A:N0=N2+1

B:N0=Nl+N2

C:N0=N1+1

D:N0=2N1+l

答案:A设用邻接矩阵A表示有向图G的存储结构,则有向图G中顶点i的入度为(

)。

A:第i列0元素的个数之和

B:第i行0元素的个数之和

C:第i行非0或非∞元素的个数之和

D:第i列非0或非∞元素的个数之和

答案:D简单回路就是回路。

A:对

B:错

答案:B图中任两点有路径相通,该图称为连通图()

A:错

B:对

答案:B第六章测试设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为(

)。

A:20

B:30

C:40

D:45

答案:D

连通图的最小生成树的边上的权值之和是唯一的。(

)

A:错

B:对

答案:B以数据集{1,3,5,7}为叶结点的权值,构造一棵哈夫曼树,求出带权路径长度WPL()。

A:26

B:29

C:30

D:28

答案:B查找表可分为两类()

A:起泡查找表

B:顺序查找表

C:动态查找表

D:静态查找表

答案:CD使用折半方法进行查找的表是一个有序表。

A:错

B:对

答案:B第七章测试执行一趟快速排序能够得到的序列是(

)。

A:

[41,12,34,45,27]55[72,63]

B:

[63,12,34,45,27]55[41,72]

C:[12,27,45,41]55[34,63,72]

D:[45,34,12,41]55[72,63,27]

答案:A排序分稳定排序和不稳定排序。(

A:对

B:错

答案:A设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为()

A:40

B:30

C:20

D:45

答案:C冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。()

A:错

B:对

答案:B设一组初始记录关键字序列为(45,80,55,40,42,85),则以第一个记录关键字45为基准而得到一趟快速排序的结果是(

)。

A:42,40,45,55,80,85

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论