数据结构练习试卷1(题后含答案及解析)

合集下载

数据结构考试题库含答案

数据结构考试题库含答案

数据结构考试题库含答案数据结构习题集含答案⽬录⽬录 (1)选择题 (2)第⼀章绪论 (2)第⼆章线性表 (4)第三章栈和队列 (5)第四章串 (6)第五章数组和⼴义表 (7)第六章树和⼆叉树 (7)第七章图 (9)第⼋章查找 (11)第九章排序 (12)简答题 (15)第⼀章绪论 (15)第⼆章线性表 (20)第三章栈和队列 (22)第四章串 (24)第五章数组和⼴义表 (24)第六章树和⼆叉树 (26)第七章图 (31)第⼋章查找 (33)第九章排序 (34)编程题 (36)第⼀章绪论 (36)第⼆章线性表 (36)第三章栈和队列 (46)第四章串 (46)第五章数组和⼴义表 (46)第六章树和⼆叉树 (46)第七章图 (46)第⼋章查找 (46)第九章排序 (52)选择题第⼀章绪论1. 数据结构这门学科是针对什么问题⽽产⽣的?(A )A、针对⾮数值计算的程序设计问题B、针对数值计算的程序设计问题C、数值计算与⾮数值计算的问题都针对D、两者都不针对2. 数据结构这门学科的研究内容下⾯选项最准确的是(D )A、研究数据对象和数据之间的关系B、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3. 某班级的学⽣成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那么下⾯关于数据对象、数据元素、数据项描述正确的是(C )A、某班级的学⽣成绩表是数据元素,90分是数据项B、某班级的学⽣成绩表是数据对象,90分是数据元素C、某班级的学⽣成绩表是数据对象,90分是数据项D、某班级的学⽣成绩表是数据元素,90分是数据元素4. *数据结构是指(A )。

A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义5. 数据在计算机存储器内表⽰时,物理地址与逻辑地址不相同,称之为(C )。

A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构6. 算法分析的⽬的是(C )A、找出数据的合理性B、研究算法中的输⼊和输出关系C、分析算法效率以求改进D、分析算法的易懂性和⽂档型性7. 算法分析的主要⽅法(A )。

国家二级C语言(数据结构与算法)机试模拟试卷1(题后含答案及解析)

国家二级C语言(数据结构与算法)机试模拟试卷1(题后含答案及解析)

国家二级C语言(数据结构与算法)机试模拟试卷1(题后含答案及解析)题型有:1. 选择题选择题1.算法具有五个特性,以下选项中不属于算法特性的是A.有穷性B.简洁性C.可行性D.确定性正确答案:B解析:算法的五个特性分别是:有穷性、可行性、确定性、输入和输出。

知识模块:数据结构与算法2.算法的有穷性是指A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用正确答案:A解析:算法的有穷性,是指算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。

知识模块:数据结构与算法3.算法的时间复杂度是指A.算法的执行时间B.算法所处理的数据最C.算法程序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数正确答案:D解析:算法的时间复杂度,是指执行算法所需要的计算工作量。

算法的工作量可以用算法在执行过程中所需基本运算的执行次数来度量。

知识模块:数据结构与算法4.对存储器按字节进行编址,若某存储器芯片共有10根地址线,则该仔储器芯片的存储容量为A.1kbB.2kbC.4kbD.8kb正确答案:A解析:10根地址线,每根地址线有0和1两种情况,地址范围就是2的10次方=1024=1K。

知识模块:数据结构与算法5.磁盘处于写保护状态时其中的数据A.不能读出,不能删改B.可以读出,不能删改C.不能读出,可以删改D.可以读出,可以删改正确答案:B解析:磁盘处于写保护状态时其中的数据可以读出来,但是不能修改和删除。

知识模块:数据结构与算法6.在Windows环境下,单击当前窗口中的按钮“”,其功能是A.讲当前应用程序转为后台运行B.退Windows后再关机C.终止当前应用程序的运行D.退出Windows后重新启动计算机正确答案:C解析:在Windows中,单击窗口中的按钮“”表示关闭当前运行的程序。

知识模块:数据结构与算法7.下列描述中正确的是A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数据一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对正确答案:D解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。

数据结构试题(含答案)讲解

数据结构试题(含答案)讲解

数据结构试题一、单选题1、在数据结构的讨论中把数据结构从逻辑上分为(C )A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构。

2、采用线性链表表示一个向量时,要求占用的存储空间地址(D )A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。

A nB n/2C (n-1)/2D (n+1)/24、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。

A s→link = p→link;p→link = s;B p→link = s; s→link = q;C p→link = s→link;s→link = p;D q→link = s;s→link = p;5、如果想在4092个数据中只需要选择其中最小的5个,采用( C )方法最好。

A 起泡排序B 堆排序C 锦标赛排序D 快速排序6、设有两个串t和p,求p在t中首次出现的位置的运算叫做( B )。

A 求子串B 模式匹配C 串替换D 串连接7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。

所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。

A 80B 100C 240D 2708、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。

A 栈B 队列C 循环队列D 优先队列9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。

10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。

A ( front - rear + 1) % mB ( rear - front + 1) % mC ( front - rear + m) % mD ( rear - front + m) % m11、一个数组元素a[i]与( A )的表示等价。

数据库练习试卷1(题后含答案及解析)

数据库练习试卷1(题后含答案及解析)

数据库练习试卷1(题后含答案及解析)题型有:1. 选择题选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。

1.DBMS是位于______之间的一层数据管理软件。

A.OA软件与用户B.OS与DBC.硬件与软件D.OS与硬件正确答案:B2.在SQL中,外模式一级数据结构的基本单位是______。

A.基本表B.视图C.E-R图D.用户表正确答案:B解析:数据库的三级体系结构为外模式、模式和内模式,其中外模式也称为子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

3.若两个实体之间的联系是1:m,则实现1:m联系的方法是______。

A.在“m”端实体转换的关系中加入“1”端的实体转换所得的关系的码B.将“m”端实体转换关系的码加入到“1”端的实体转换所得的关系C.在两个实体转换的关系中,分别加入另一个关系码D.将两个实体转换成一个关系正确答案:A解析:1:m类型的联系转换为实体有两种方法:第一种方法是把联系转换为一个独立的关系模式;第二种方法是把联系与“m”端实体对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系体本身的属性均转换为关系的属性,而关系的码为m端实体的码;如果与“m”端关系模式合并,则把联系的属性加入到“m”端,并在“m”端加入“1”端的码。

4.若R1={a,b),R2={a,b,c,d),则R1×R2集合中共有______个元组。

A.2B.4C.6D.8正确答案:D解析:两个关系的笛卡儿积中元组的个数为两个关系中元组个数的乘积。

所以答案应为D。

5.两个子查询的结果______时,可以执行并、交、差操作。

A.结构完全一致B.结构完全不一致C.结构部分相同D.主键完全相同正确答案:A解析:基本概念题。

数据结构试题集(8套卷子+答案)

数据结构试题集(8套卷子+答案)

《数据结构》试卷一一、填空题:(共20分)1、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。

2、队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是。

3、在一棵二叉树中,度为0的结点个数为n0,度为2的个数为n2,则n0= 。

4、二叉树的前序遍历序列等同于该二叉树所对应森林的遍历序列5、对一棵二叉排序树,若以遍历该树,将得到一个以关键字递增顺序排列的有序序列。

6、三个结点a,b,c组成二叉树,共有种不同的结构。

7、在AVL树中,由于在A结点的右孩子的右子树上插入结点,使A结点的平衡因子由-1变为-2,使其失去平衡,应采用型平衡旋转。

8、图的遍历有两种,它们是。

9、堆排序的时间复杂度为。

10、在含有N个结点的二叉链表中有空链域,通常用这些空链域存储线索,从而得另一种链式存储结构----线索链表。

二、单项选择题(共20分)1、若进栈序列为1,2,3,4,假定进栈和出栈可以穿插进行,则可能的出栈序列是()(A)2,4,1,3(B)3,1,4,2(C)3,4,1,2(D)1,2,3,42、有一棵非空的二叉树,(第0层为根结点),其第i层上最多有多少个结点?()(A)2i(B)21-i(C)21+i(D) i3、设电文中出现的字母为A,B,C,D,E,每个字母在电文中出现的次数分别为9,27,3,5,11,按huffman编码,则字母A编码为()(A)10(B)110(C)1110(D)11114、下面关于数据结构的叙述中,正确的叙述是()(A)顺序存储方式的优点是存储密度大,且插、删除运算效率高(B)链表中每个结点都恰好包含一个指针(C)包含n个结点的二叉排序树的最大检索长度为logn2(D)将一棵树转为二叉树后,根结点无右子树5、程序段:y:=0while n>=(y+1)*(y+1) doy:=y+1enddo的时间复杂度为()(A)O(n) (B)O(n2) (C)O(n2/1) (D)O(1)6、排序方法中,关键码比较的次数与记录的初始排列无关的是( )(A) shell排序 (B) 归并排序 (C) 直接插入排序 (D) 直接选择排序7、数组q[0..n-1]作为一个环行队列,f 为当前队头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数总小于n,则队列中元素个数为( )(A) r-f (B) n+f-r (C) n+r-f (D) (n+r-f) mod n8、为了有效的利用散列查找技术,需要解决的问题是:( )Ⅰ:找一个好的散列函数Ⅱ:设计有效的解决冲突的方法Ⅲ:用整数表示关键码值(A) Ⅰ和Ⅲ (B) Ⅰ和Ⅱ (C) Ⅱ和Ⅲ (D) Ⅰ,Ⅱ和Ⅲ9、引入线索二叉树的目的是()(A) 加快查找结点的前驱或后继的速度(B) 为了能在二叉树中方便的进行插入与删除(C) :为了能方便的找到双亲(D) 使二叉树的遍历结果唯一10、用二分(折半)查找表的元素的速度比用顺序法()(A) 必然快(B) 必然慢(C): 相等(D): 不能确定三、简答题:(共40分)1、已知某二叉树按中序遍历序列为BFDAEGC,按前序遍历序列为ABDFCEG,试画出该二叉树形状,并写出它的后序遍历序列。

数据结构试题及答案(1)A

数据结构试题及答案(1)A

数据结构试卷一、填空殖(每空1分共20分)1.数据的物理结构主要包括___顺序存储结构__________和_链式_____________两种情况。

2.设一棵完全二叉树中有500个结点,则该二叉树的深度为_______9___;若用二叉链表作为该完全二叉树的存储结构,则共有______501_____个空指针域.3.设输入序列为1、2、3,则经过栈的作用后可以得到_____6______种不同的输出序列。

4.设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的___出度_____,第i列上所有元素之和等于顶点i的____入度____。

5.设哈夫曼树中共有n个结点,则该哈夫曼树中有___0_____个度数为1的结点。

6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为____e=d_____。

7.____中序______遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中序或后序).8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较_____7___次就可以断定数据元素X是否在查找表中。

9.不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为______1______。

10.设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第i个结点的双亲结点编号为___i/2_________,右孩子结点的编号为____2i+1_______。

11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一趟快速排序结果为_____5 16 71 23 72 94 73______。

12.设有向图G中有向边的集合E={〈1,2〉,<2,3>,〈1,4〉,〈4,2>,〈4,3〉},则该图的一种拓扑序列为___1 4 2 3___。

数据结构题库及答案详解

数据结构题库及答案详解

数据结构题库及答案详解一、选择题1. 在数据结构中,线性结构的特点是什么?A. 结构中存在唯一的开始结点和终端结点B. 结构中所有结点的前驱和后继都存在C. 结构中所有结点都只有一个直接前驱和一个直接后继D. 结构中存在多个开始结点和终端结点答案:C2. 栈是一种特殊的线性表,其特点是:A. 先进先出B. 先进后出C. 可以同时在两端进行插入和删除操作D. 只能在一端进行插入和删除操作答案:D3. 在二叉树的遍历算法中,先序遍历的顺序是:A. 先访问根结点,然后遍历左子树,最后遍历右子树B. 先遍历左子树,然后访问根结点,最后遍历右子树C. 先遍历右子树,然后访问根结点,最后遍历左子树D. 先遍历左右子树,最后访问根结点答案:A二、填空题4. 在图的遍历中,______算法可以避免重复访问同一顶点。

5. 哈希表的冲突可以通过______方法来解决。

答案:4. 深度优先搜索(DFS)5. 链地址法或开放地址法三、简答题6. 简述排序算法中的快速排序算法的基本原理。

答案:快速排序算法是一种分治算法,它通过选择一个元素作为“基准”,然后将数组分为两个子数组,一个包含小于基准的元素,另一个包含大于基准的元素。

然后对这两个子数组递归地应用快速排序算法。

7. 解释什么是递归,并给出一个递归函数的例子。

答案:递归是一种在函数中调用自身的编程技术。

递归函数必须有一个明确的终止条件,以避免无限递归。

例如,计算阶乘的递归函数如下:```int factorial(int n) {if (n == 0) return 1; // 终止条件return n * factorial(n - 1); // 递归调用}```四、编程题8. 编写一个函数,实现单链表的反转。

答案:```c// 假设ListNode是链表节点的定义ListNode* reverseList(ListNode* head) {ListNode* prev = NULL;ListNode* curr = head;ListNode* next = NULL;while (curr != NULL) {next = curr->next; // 保存下一个节点curr->next = prev; // 反转指针prev = curr; // 移动prevcurr = next; // 移动curr}return prev; // 新的头节点}```9. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。

数据结构试卷试题及答案

数据结构试卷试题及答案

数据结构试卷试题及答案一、选择题(每题5分,共40分)1. 数据结构是研究数据元素的()A. 存储结构B. 处理方法C. 逻辑结构D. 所有以上内容答案:D2. 在数据结构中,通常采用()方式来表示数据元素之间的逻辑关系。

A. 顺序存储结构B. 链式存储结构C. 索引存储结构D. 散列存储结构答案:B3. 下面哪一个不是栈的基本操作?()A. 入栈B. 出栈C. 判断栈空D. 获取栈顶元素答案:D4. 下面哪一个不是队列的基本操作?()A. 入队B. 出队C. 判断队列空D. 获取队头元素答案:D5. 下面哪一个不是线性表的特点?()A. 有且只有一个根节点B. 每个节点最多有一个前驱和一个后继C. 数据元素类型相同D. 数据元素类型可以不同答案:D6. 在下列哪种情况中,使用链式存储结构比顺序存储结构更合适?()A. 数据元素经常插入和删除B. 数据元素大小不固定C. 数据元素个数不确定D. 所有以上情况答案:D7. 下面哪一个不是树的遍历方式?()A. 前序遍历B. 中序遍历C. 后序遍历D. 翻转遍历答案:D8. 在下列哪种情况中,使用散列存储结构比其他存储结构更合适?()A. 数据元素个数较少B. 数据元素查找频繁C. 数据元素插入和删除频繁D. 数据元素大小不固定答案:B二、填空题(每题5分,共30分)9. 栈是一种特殊的线性表,它的插入和删除操作都限定在表的一端进行,这一端称为______。

答案:栈顶10. 队列是一种特殊的线性表,它的插入操作在表的一端进行,这一端称为______,而删除操作在另一端进行,这一端称为______。

答案:队尾、队头11. 二叉树中的节点包括______和______。

答案:根节点、子节点12. 在图的存储结构中,邻接矩阵表示法用______个一维数组来表示图中各个顶点之间的关系。

答案:两个13. 散列存储结构中,关键码到存储地址的映射方法称为______。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构练习试卷1(题后含答案及解析)题型有:1. 选择题选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。

1.数据结构主要研究数据的______。

A.逻辑结构B.存储结构C.逻辑结构和存储结构D.逻辑结构和存储结构及其运算的实现正确答案:D解析:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

数据结构一般包括三方面的内容:①数据之间的逻辑关系。

从逻辑关系上描述数据,与数据的存储无关。

②数据的存储结构。

存储结构分为顺序结构和链式结构,是逻辑结构在计算机存储器中的表示,它包括数据元素的表示和关系的表示。

③数据的运算。

也就是在数据上所施加的一系列操作。

只考虑操作的功能是怎样的,暂不考虑如何实现。

综上所述,本题的正确答案为选项D。

知识模块:数据结构2.在数据结构中,结点(数据元素)及结点间的相互关系组成数据的逻辑结构。

按逻辑结构的不同,数据结构通常可分为______两类。

A.线性结构和非线性结构B.紧凑结构和稀疏结构C.动态结构和静态结构D.内部结构和外部结构正确答案:A解析:在数据结构中,结点(数据元素)及结点间的相互关系组成数据的逻辑结构。

按逻辑结构的不同,数据结构通常可分为线性结构和非线性结构两类。

本题正确答案为选项A。

知识模块:数据结构3.下面叙述不正确的是______。

A.算法的执行效率与数据的存储结构有关B.算法的空间复杂度是指执行这个算法所需要的内存空间C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.算法的时间复杂度是指执行这个算法所需要的时间正确答案:D解析:算法的时间复杂度是指执行算法所需要的计算工作量,故D选项不正确。

知识模块:数据结构4.数据的存储结构是指______。

A.数据所占的存储空间量B.数据的逻辑结构在计算机中的表示C.数据在计算机中的顺序存储方式D.存储在外存中的数据正确答案:B解析:数据的存储结构是数据元素在计算机存储器内的表示。

数据的存储结构是逻辑结构用计算机语言的实现,即建立数据的机内表示。

本题正确答案为选项B。

知识模块:数据结构5.下列对于线性链表的描述中正确的是______。

A.存储空间不一定连续,且各元素的存储顺序是任意的B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的正确答案:A解析:在链式存储结构中,存储数据的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,数据元素之间的逻辑关系,是由指针域来确定的。

由此可见,选项A的描述正确。

知识模块:数据结构6.下列叙述中正确的是______。

A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对正确答案:D解析:数据之间的相互关系称为逻辑结构。

存储结构是逻辑结构在存储器中的映像,它包含数据元素的映像和关系的映像。

存储结构在计算机中有两种,即顺序存储结构和链式存储结构。

①顺序存储结构是把数据元素存储在一块连续地址空间的内存中。

②链式存储结构是使用指针把相互直接关联的结点链接起来。

因此,这两种存储结构都是线性的。

可见,逻辑结构和存储结构不是一一对应的。

因此,选项A和选项B的说法都是错误的。

无论数据的逻辑结构是线性的还是非线性的,只能选择顺序存储结构或链式存储结构来实现存储。

程序设计语言中,数组是内存中一段连续的地址空间,可看作是顺序存储结构。

可以用数组来实现树型逻辑结构的存储,比如二叉树。

因此,选项C的说法是错误的。

知识模块:数据结构7.以下关于字符串的判定语句中正确的是______。

A.字符串是一种特殊的线性表B.串的长度必须大于零C.字符串不属于线性表的一种D.空格字符组成的串就是空串正确答案:A解析:字符集中的字符所组成的有限字符序列,就是字符串,它是特殊的线性表,选项A说法正确。

选项C错误。

字符串不包含任何字符时,为空串,长度为0,所以,选项B和选项D的说法错误。

知识模块:数据结构8.字符串computer中长度为3的子串有______个。

A.4B.5C.6D.7正确答案:B解析:子串是字符串中任意长度的连续字符构成的序列。

对于字符串computer,长度为3的子串有:com、omp、mpu、put、ute、ter。

共有6个。

选项B为本题正确答案。

知识模块:数据结构9.PUSH和POP命令常用于______操作。

A.队列B.数组C.栈D.记录正确答案:C解析:栈是先进后出的线性表。

其基本运算是入栈和出栈操作,也就是PUSH 和POP。

本题的正确答案为选项C。

知识模块:数据结构10.n个元素依次全部进入栈后,再陆续出栈并经过一个队列输出。

那么,______。

A.元素的出队次序与进栈次序相同B.元素的出队次序与进栈次序相反C.元素的进栈次序与进队次序相同D.元素的出栈次序与出队次序相反正确答案:B解析:栈的特点是先进后出,出栈后,元素逆序。

队列的特点是先进先出,元素经过队列,不会更改其顺序,也就是说,出队顺序与入队顺序相同,与出栈顺序相同,与入栈顺序相反。

所以,选项B的说法正确,为本题正确答案,其他选项的说法错误。

知识模块:数据结构11.若一个栈以向量V[1..n)存储,且空栈的栈顶指针top为n+1,则将元素x入栈的正确操作是______。

A.top=top+1;V[top]=x;B.V[top]=x;top=top+1;C.top=top-1;V[top]=x;D.V[top]=x;top=top-1;正确答案:C解析:栈是运算受限的线性表,只允许在栈顶进行插入和删除操作。

栈顶指针为n+1,说明该数组将栈顶放在了下标大的一端,所以,在进行入栈操作时,top指针应该进行减1操作。

通常元素进栈的操作为:先移动栈顶指针,后存入元素。

移动栈顶指针的操作是“top=top-1;”,存入元素的操作是“V[top]=x;”。

本题正确答案为选项C。

知识模块:数据结构12.设初始栈为空,s表示入栈操作,x表示出栈操作,则______是合法的操作序列。

A.sxxsssxxxB.xxssxxssC.sxsxssxxD.xssssxxx正确答案:C解析:栈是操作受限的线性表,其特点是后进先出。

应用中可将栈看作一个桶状的容器,当栈中有元素时,栈顶元素先出栈,栈为空时进行出栈操作是不正确的。

因此,对于一个关于初始为空的栈的操作序列,要求序列中任何一个操作之前,入栈操作的次数要大于等于出栈操作的次数。

题目选项中仅操作序列sxsxssxx满足该要求。

本题正确答案为选项C。

知识模块:数据结构13.若push、pop分别表示入栈、出栈操作,初始栈为空且元素1、2、3依次进栈,则经过操作序列push、push、pop、pop、push、pop之后,得到的出栈序列为______。

A.321B.213C.231D.123正确答案:B解析:栈的运算特点是先进后出。

对于元素1、2、3,经过操作序列push、push、pop、pop、push、pop的过程如图8-3(a~g)所示。

通过图可以看出,出栈序列为213。

本题正确答案为选项B。

知识模块:数据结构14.设栈S初始状态为空。

元素a、b、c、d、e、f依次通过栈S,若出栈的顺序为c、f、e、d、b、a,则栈S的容量至少应该为______。

B.5C.4D.3正确答案:B解析:根据题中给定的条件,可做如下模拟操作:①元素a、b、c进栈,栈中有3个元素,分别为a、b、c;②元素c出栈后,元素d、e、f进栈,栈中有5个元素,分别为a、b、d、e、f;③元素f、e、d、a、b出栈,栈为空。

可以看出,进栈的顺序为a、b、c、d、e、f,出栈的顺序为c、f、e、d、b、a,满足题中所提出的要求。

在每一次进栈操作后,栈中最多有3个元素,因此,为了顺利完成这些操作,栈的容量应至少为5。

本题答案为B。

知识模块:数据结构15.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1≤i≤n)个元素是______。

A.不确定B.n-i+lC.iD.n-i正确答案:B解析:栈的特点是先进后出,若输入序列为123…n,输出的第一个元素是n,则表明,所有元素都已入栈,则出栈顺序为:第1个元素为n,第2个元素为n-1,第3个元素为n-2,…,第i个元素是n-i+1。

知识模块:数据结构16.以下数据结构中属于线性数据结构的是______。

A.集合B.线性表C.二叉树D.图正确答案:B解析:所谓的线性结构是指:如果一个非空的数据结构满足下列两个条件,即:①有且只有一个根结点。

②每一个结点最多有一个前件,也最多有一个后件。

同时满足两个条件的只有线性表,而其他三种数据结构的结点可能存在多个前件或后件,所以不是线性结构。

故本题正确答案为B。

知识模块:数据结构17.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的序列是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是______。

A.6B.4C.3正确答案:C解析:栈的特点是先进后出,队列的特点是先进先出。

所以,如果一个元素序列先进入栈,再进入队列,那么,出队的序列,与入栈序列是逆序。

队列不影响元素顺序。

所以,下面使用图来模拟输入和输出顺序,只给出栈的变化。

①根据题意,元素e1、e2、e3、e4、e5和e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的序列是e2、e4、e3、e6、e5、e1,那么,通过出队次序可以看出,首先是e2,说明e1、e2顺序入栈。

后来e2出栈,e1还在栈中。

如图8-4所示。

②第2个输出元素是e4,那么,说明此时在栈中,还有e1、e3。

如图8-5所示。

③第3个输出元素是e3,直接出栈即可。

如图8-6所示。

④第4个输出元素是e6,说明在e3出栈后,e5、e6顺序入栈。

e6出栈后,栈中剩下e5和e1。

顺序出栈即可。

如图8-7所示。

根据前面对入栈、出栈过程的模拟,可以看出,栈s的容量至少为3。

选项C为正确答案。

知识模块:数据结构18.某循环队列的容量为M,队头指针指向队头元素,队尾指针指向队尾元素之后,如图8-8所示(M=8),则队列中的元素数目为______(MOD表示整除取余运算)。

A.rear-frontB.front-rearC.(rear-front+M)MODMD.(front-rear+M)MODM正确答案:C解析:队列是仅在表头删除元素、在表尾插入元素的操作受限的线性表,其特点是先入先出。

相关文档
最新文档