数据结构习题库汇总

合集下载

数据结构试题及答案(十套)

数据结构试题及答案(十套)

一、单选题(每题 2 分,共20分)1.对一个算法的评价,不包括如下(B )方面的内容。

A.健壮性和可读性B.并行性C.正确性D.时空复杂度2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。

A. p->next=HL->next; HL->next=p;B. p->next=HL; HL=p;C. p->next=HL; p=HL;D. HL=p; p->next=HL;3.对线性表,在下列哪种情况下应当采用链表表示?( )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35.AOV网是一种()。

A.有向图B.无向图C.无向无环图D.有向无环图6.采用开放定址法处理散列表的冲突时,其平均查找长度()。

A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。

A.值B.函数C.指针D.引用8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。

A.行号B.列号C.元素值D.非零元素个数9.快速排序在最坏情况下的时间复杂度为()。

A.O(log2n) B.O(nlog2n)C.0(n) D.0(n2)10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A. O(n)B. O(1)C. O(log2n)D. O(n2)二、运算题(每题 6 分,共24分)1.数据结构是指数据及其相互之间的______________。

当结点之间存在M对N (M:N)的联系时,称这种结构为_____________________。

数据结构考试试题题库

数据结构考试试题题库

数据结构考试试题题库一、选择题1. 在数据结构中,线性表是按照什么顺序存储数据的?A. 随机B. 无序C. 有序D. 连续2. 栈(Stack)是一种遵循哪种原则的数据结构?A. 先进先出(FIFO)B. 先进后出(LIFO)C. 后进先出(LILO)D. 随机访问3. 哈希表(Hash Table)的主要优点是什么?A. 存储空间大B. 访问速度快C. 易于排序D. 易于扩展二、简答题1. 请简述数组和链表的区别。

2. 什么是二叉树?请描述二叉树的几种遍历方法。

三、计算题1. 给定一个单链表,编写一个算法来删除链表中的重复元素。

2. 假设有一个数组,其中包含n个元素,编写一个算法来找到数组中的第k小的元素。

四、应用题1. 描述如何使用队列来实现一个打印任务调度系统。

2. 请解释二叉搜索树(BST)的插入操作,并给出相应的算法实现。

五、编程题1. 编写一个C++函数,实现对一个给定的整数数组进行排序。

2. 编写一个Python函数,实现对一个二叉树进行层次遍历。

六、论述题1. 讨论图的两种存储结构:邻接矩阵和邻接表,并比较它们的优缺点。

2. 解释什么是递归,并给出一个使用递归解决实际问题的例子。

结束语数据结构的学习不仅仅是对概念的理解,更重要的是能够将这些概念应用到实际问题的解决中。

通过本题库的练习,希望能够加深你对数据结构的理解和应用能力。

请注意,这只是一个示例题库,实际的考试题库可能会包含更多的题目和不同的题型。

考生应根据具体的课程内容和考试要求来准备。

数据结构题库及答案详解

数据结构题库及答案详解

数据结构题库及答案详解一、选择题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. 给定一个整数数组,请实现一个函数来找到数组中的最长连续子序列的长度。

数据结构试题及答案(10套)

数据结构试题及答案(10套)

数据结构试题及答案(10套)数据结构试题及答案(10套)根据您的需求,我为您准备了10套数据结构试题及答案。

每套试题包含以下几个部分:选择题、填空题、编程题及答案解析。

下面是试题的具体内容:第一套试题:选择题:1. 在数据结构中,什么是栈?A. 先进先出(FIFO)的数据结构B. 后进先出(LIFO)的数据结构C. 随机访问的数据结构D. 无序排列的数据结构2. 以下哪种操作与队列的特性不相符?A. 入队操作B. 出队操作C. 查找操作D. 获取队首元素填空题:1. ______ 是一种动态集合,支持插入、删除和查找等操作。

2. 在二叉搜索树中,中序遍历的结果是________。

编程题:实现一个栈的数据结构,并包含以下操作:- push(x):将元素 x 压入栈中- pop():删除栈顶的元素并返回该元素- top():获取栈顶元素的值- empty():检查栈是否为空答案解析:选择题:B、C填空题:1. 集合 2. 升序序列编程题:略第二套试题:选择题:1. 以下哪个数据结构是一种广度优先搜索的应用?A. 栈B. 队列C. 堆D. 链表2. 在链表中,如果要删除一个节点,只给出该节点的指针,那么需要通过什么方式完成删除操作?A. 直接删除该节点B. 指向该节点的前一个节点的指针C. 指向该节点的后一个节点的指针D. 无法完成删除操作填空题:1. 树是一种________的数据结构。

2. 二叉树每个节点最多有______个子节点。

编程题:实现一个队列的数据结构,并包含以下操作:- enqueue(x):将元素 x 入队- dequeue():删除队首的元素并返回该元素- peek():获取队首元素的值- is_empty():检查队列是否为空答案解析:选择题:B、B填空题:1. 分层组织 2. 2编程题:略(以下部分省略)通过以上的题目,您可以对数据结构的知识点进行综合练习和复习。

每套试题包含了不同难度和类型的题目,能够帮助您全面了解和掌握数据结构的概念和操作。

数据结构试题库及答案

数据结构试题库及答案

数据结构试题库及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用()来存储。

A. 链表B. 栈C. 队列D. 数组答案:D2. 以下哪个算法不是排序算法?A. 快速排序B. 归并排序C. 深度优先搜索D. 堆排序答案:C3. 在二叉树的遍历算法中,先访问根节点,然后遍历左子树,最后遍历右子树的遍历方式是()。

A. 先序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法不包括以下哪种?A. 链地址法B. 线性探测法C. 二分查找法D. 再散列法答案:C5. 在图的遍历算法中,广度优先搜索(BFS)使用的辅助数据结构是()。

A. 栈B. 队列C. 堆D. 链表答案:B6. 下列关于堆的描述中,错误的是()。

A. 堆是一种特殊的完全二叉树B. 堆中的每个节点的值都大于其子节点的值C. 堆可以用于实现优先队列D. 堆的插入操作的时间复杂度为O(log n)答案:B7. 在一个长度为n的数组中,使用二分查找算法查找一个元素的最坏情况下的时间复杂度是()。

A. O(1)B. O(n)C. O(n^2)D. O(log n)答案:D8. 以下哪个数据结构不是线性结构?A. 链表B. 栈C. 队列D. 二叉树答案:D9. 以下哪个算法是动态查找表?A. 直接索引B. 顺序查找C. 二分查找D. 哈希表答案:D10. 在图的表示方法中,邻接矩阵表示法的缺点是()。

A. 占用空间大B. 占用空间小C. 插入和删除操作复杂D. 遍历操作复杂答案:A二、填空题(每题2分,共20分)1. 在一个长度为n的数组中,使用顺序查找算法查找一个元素的时间复杂度为________。

答案:O(n)2. 一个具有n个节点的完全二叉树的高度为________。

答案:log2(n) + 1(向上取整)3. 一个长度为n的链表,删除一个节点的时间复杂度为________。

答案:O(1)4. 在图的表示方法中,邻接表表示法的缺点是________。

数据结构综合习题集(含答案)

数据结构综合习题集(含答案)

数据结构习题集一、选择题1.数据结构中所定义的数据元素,是用于表示数据的。

(C)A.最小单位B.最大单位C.基本单位D.不可分割的单位2.从逻辑上可以把数据结构分为(C)A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构3.当待排序序列中记录数较少或基本有序时,最适合的排序方法为(A )A.直接插入排序法B.快速排序法C.堆排序法D.归并排序法4.关于串的的叙述,不正确的是( B)A.串是字符的有限序列B.空串是由空格构成的串C.替换是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储5.带表头结点链队列的队头和队尾指针分别为front和rear,则判断队空的条件为(A )A.front==rear B.front!=NULL C.rear!=NULL D.front==NULL6.若构造一棵具有n个结点的二叉排序树,最坏的情况下其深度不会超过(B)A.n/2B.nC.(n+1)/2D.n+17.将两个各有n个元素的有序表合并成一个有序表,其最少的比较次数为(A)A.nB.2n-1C.2nD.n28.设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为(B )A.236B.239C.242D.2459.一个栈的入栈序列是a,b,c,d,e,则栈的输出序列不可能是(A )A.dceabB.decbaC.edcbaD.abcde10.元素大小为1个单元,容量为n个单元的非空顺序栈中,以地址高端为栈底,以top作为栈顶指针,则出栈处理后,top的值应修改为(D )A.top=topB.top=n-1C.top=top-1D.top=top+111.设有一个10阶的对称矩阵A,采用压缩存储方式以行序为主序存储,a00为第一个元素,其存储地址为0,每个元素占有1个存储地址空间,则a45的地址为(B)A.13B.35C.17D.3612.栈和队列( C )A.共同之处在于二者都是先进先出的特殊的线性表B.共同之处在于二者都是先进后出的特殊的线性表C.共同之处在于二者都只允许在顶端执行删除操作D.没有共同之处13.含有n个结点的二叉树用二叉链表表示时,空指针域个数为(C )A.n-1B.nC.n+1D.n+214.对一棵有100个结点的完全二叉树按层序编号,则编号为49的结点,它的左孩子的编号为(B)A.99B.98C.97D.5015.在一个图中,所有顶点的度数之和与图的边数的比是( C)A.1∶2B.1∶1C.2∶1D.4∶116.在一个具有n个顶点的无向图中,要连通全部顶点至少需要的边数为(A )A.n-1B.nC.n+1D.n/217.在一个具有n个顶点的无向图中,每个顶点度的最大值为( B )A.nB.n-1C.n+1D.2(n-1)18.若采用邻接表存储结构,则图的广度优先搜索类似于二叉树的(D)A.先序遍历B.中序遍历C.后序遍历D.层次遍历19.对线性表进行二分查找时,要求线性表必须( C)A.以顺序方式存储B.以链式方式存储C.以顺序方式存储,且结点按关键字有序排列D.以链接方式存储,且结点按关键字有序排列20.二分查找算法的时间复杂度是(D)A.O(n2)B.O(nlog2n)C.O(n)D.O(log2n)21.采用排序算法对n个元素进行排序,其排序趟数肯定为n-1趟的排序方法是(C)A.插入和快速B.冒泡和快速C.选择和插入D.选择和冒泡22. 闭散列表中由于散列到同一个地址而引起的“堆积”现象,是( B)A.由同义词之间发生冲突引起的B.由非同义词之间发生冲突引起的C.由同义词之间或非同义词之间发生冲突引起的D.由散列表“溢出”引起的23.在对查找表的查找过程中,若被查找的数据元素不存在,则把该数据元素插入到集合中。

数据结构历年真题及解析题

数据结构历年真题及解析题

数据结构历年真题及解析题一、选择题1. 下列关于数组的描述,正确的是()。

A. 数组在内存中是连续存放的。

B. 数组一经定义,其长度不可改变。

C. 数组的每个元素可以是不同的数据类型。

D. 数组可以通过下标随机访问元素。

答案:A、B、D2. 链表相比于数组的优势在于()。

A. 内存使用更高效。

B. 插入和删除操作更加方便。

C. 可以通过下标随机访问元素。

D. 存储空间可以动态分配。

答案:B、D3. 栈(Stack)的特点是()。

A. 先进先出(FIFO)。

B. 后进先出(LIFO)。

C. 只能在一端进行插入和删除。

D. 可以通过索引随机访问元素。

答案:B、C4. 队列(Queue)与栈的主要区别在于数据的()。

A. 存取方式。

B. 存储结构。

C. 操作速度。

D. 内存占用。

答案:A5. 二叉树的前序遍历的顺序是()。

A. 根-左-右。

B. 左-根-右。

C. 右-根-左。

D. 根-右-左。

答案:A6. 快速排序算法的时间复杂度在最坏情况下是()。

A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)答案:C7. 哈希表的冲突解决方法中,开放定址法的特点是()。

A. 通过增加哈希表的大小来解决冲突。

B. 通过链表来链接具有相同哈希值的元素。

C. 寻找表中下一个空闲位置来存储冲突元素。

D. 重新计算哈希值,直到找到空闲位置。

答案:C8. 图的遍历算法中,深度优先搜索(DFS)与广度优先搜索(BFS)的主要区别在于()。

A. DFS使用递归,BFS使用队列。

B. DFS使用栈,BFS使用递归。

C. DFS使用队列,BFS使用栈。

D. DFS和BFS都使用链表。

答案:A9. 堆(Heap)结构中,最大堆的性质是()。

A. 父节点的值小于子节点。

B. 父节点的值大于子节点。

C. 父节点的值等于子节点。

D. 没有固定的大小关系。

答案:B10. 动态规划算法通常用于解决()类型的问题。

A. 排序。

数据结构习题集(包含全部答案)

数据结构习题集(包含全部答案)

数据结构习题集(包含全部答案)数据结构习题集(自编)第一章绪论一、选择题1.数据结构是一门研究非数值计算的程序设计问题中的操作对象以及它们之间的()和运算的学科。

A.结构B.关系 C.运算 D.算法2.在数据结构中,从逻辑上可以把数据结构分成()。

A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.逻辑结构和存储结构3.线性表的逻辑顺序和存储顺序总是一致的,这种说法()。

A.正确B.不正确 C.无法确定 D.以上答案都不对4.算法分析的目的是()。

A.找出算法的合理性 B.研究算法的输人与输出关系C.分析算法的有效性以求改进 D.分析算法的易懂性5. 算法的时间复杂度取决于()A.问题的规模B待处理数据的初态 C. A和B6.一个算法应该是()。

A.程序B.问题求解步骤的描述C.要满足五个基本特性 D.A和C.7. 下面关于算法说法错误的是()A.算法最终必须由计算机程序实现B.为解决某问题的算法与为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的8.以下与数据的存储结构无关的术语是()。

A.循环队列 B. 链表 C. 哈希表 D. 栈9.在下面的程序段中,对x的赋值语句的频度为()for(i=0;i<n;i++)for(j=0;j<n;j++)x=x+1;nA. 2n B.n C.n2 D.log210.以下数据结构中,()是非线性数据结构A.树 B.字符串 C.队列 D.栈11. 下列数据中,()是线性数据结构。

A.哈夫曼树 B.有向无环图 C. 二叉排序树 D. 栈12.以下属于逻辑结构的是()。

A.顺序表 B. 哈希表 C.有序表 D. 单链表二、填空题1、_______是信息的载体,是对客观事物的符号表示,它能够被计算机识别、存储、加工和处理,________是对能够有效的输人到计算机中并且能够被计算机处理的符号的总称。

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

知识点:01.绪论02.顺序表03.链表04.栈05.链队列06.循环队列07.串08.数组的顺序表示09.稀疏矩阵10.广义表11.二叉树的基本概念12.二叉树遍历、二叉树性质13.树、树与二叉树的转换14.赫夫曼树15.图的定义、图的存储16.图的遍历17.图的生成树18.静态查找(顺序表的查找、有序表的查找)19.动态查找(二叉排序树、平衡树、B树)20.哈希查找21.插入排序(直接插入、折半插入、2路插入、希尔排序)22.选择排序(简单选择、树形选择、堆排序)23.快速排序、归并排序101A1(1).数据的逻辑结构是(A)。

A.数据的组织形式B.数据的存储形式C.数据的表示形式D.数据的实现形式101A1(2).组成数据的基本单位是(C)。

A.数据项B.数据类型C.数据元素D.数据变量101B1(3).与顺序存储结构相比,链式存储结构的存储密度(B)。

A.大B.小C.相同D.以上都不对101B2(4).对于存储同样一组数据元素而言,(D)。

A.顺序存储结构比链接结构多占空间B.在顺序结构中查找元素的速度比在链接结构中查找要快C.与链接结构相比,顺序结构便于安排数据元素D.顺序结构占用整块空间而链接结构不要求整块空间101B2(5).下面程序的时间复杂度为(B)。

x=0;for(i=1;i<n;i++)for(j=i+1;j<=n;j++)x++;A.O(n)B.O(n2)C.O(1)D.O(n)101B2(6).下面程序的时间复杂度为(C)。

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)101C2(7).下面程序段的执行次数为(B)。

for(i=0;i<n-1;i++)for(j=0;j>i;j++)state;A.n(n+1)/2 B.(n-1)(n+2)/2C.n(n+1)/2 D.(n-1)(n+2)101D3(8).下面程序的时间复杂度为(A)。

for(i=0;i<m;i++)for(j=0;j<t;j++)c[i][j]=0;for(i=0;i<m;i++)for(j=0;j<t;j++)for(k=0;k<n;k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];A.O(m×n×t)B.O(m+n+t)C.O(m+n×t)D.O(m×t+n)102A1(9).顺序表的特点是(B)。

A.表中元素的个数为表长B.按顺序方式存储数据元素C.逻辑结构中相邻的结点在存储结构中仍相邻D.按表中元素的次序存储102C2(10).设顺序表共有n个元素,用数组elem存储,实现在第i个元素之前插入一个元素e的操作,其主要语句为(D)。

A.FOR j=n DOWNTO i DO elem[j]=elem[j+1];elem[i]=e;B.FOR j=i TO n DO elem[j]=elem[j+1];elem[i]=e;C.FOR j=i TO n DO elem[j+1]=elem[j];elem[i]=e;D.FOR j=n DOWNTO i DO elem[j+1]=elem[j];elem[i]=e;102D2(11).顺序表有5个元素,设在任何位置上插入元素是等概率的,则在该表中插入一个元素时所需移动元素的平均次数为(C)。

A.3 B.2 C.2.5 D.5102D2(12).设顺序表有9个元素,则在第3个元素前插入一个元素所需移动元素的个数为(C)。

A.9 B.4.5 C.7 D.6102D3(13).设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为(B)。

A.236 B.239C.242 D.245102D2(14).设顺序表的第5个元素的存储地址为200,且每个元素占一个存储单元,则第14个元素的存储地址为(B)。

A.208 B.209C.210 D.214103D3(15).设p为指向双向循环链表中某个结点的指针,p所指向的结点的两个链域分别用p->llink 和p->rlink表示,则下列等式中(D)成立。

A.p=p->llink B.p=p->rlink C.p=p->llink->llink D.p=p->llink->rlink103A1(16).线性表采用链式存储时,其地址(D)。

A.必须是连续的B.一定是不连续的C.部分地址必须是连续的D.连续与否均可以103B1(17).线性表是(A)。

A.一个有限序列,可以为空B.一个有限序列,不可以为空C.一个无限序列,可以为空D.一个无限序列,不可以为空103B1(18).链式存储的线性表中的指针指向其(B)。

A.前趋结点B.后继结点C.物理前趋D.物理后继103C2(19).设在链式存储的线性表中,设结点结构为p结点后插入一个结点q的关键步骤为(A)。

A.q->link=p->link;p->link=q;B.p->link=q->link;p->link=q;C.q->link=p->link;q->link=p;D.p->link=q->link;q->link=p;103C3(20).设有指针head指向的带表头结点的单链表,现将指针p指向的结点插入表中,使之成为第一个结点,其操作是(A)(其中,p->next、head->next分别表示p、head所指结点的链域)。

A.p->next=head->next;head->next=p;B.p->next=head->next;head=p;C.p->next=head;head=p;D.p->next=head;p= head;104A1(21).在栈中,下列说法正确的是(A)。

A.每次插入总是在栈顶,每次删除也总是在栈顶。

B.每次插入总是在栈顶,每次删除总是在栈底。

C.每次插入总是在栈底,每次删除总是在栈顶。

D.每次插入总是在栈底,每次删除也总是在栈底。

104B2(22).设有一个栈,按A、B、C的顺序进栈,则下列(C)为不可能的出栈序列。

A.ABC B.CBA C.CAB D.ACB104B2(23).设有一个栈,按A、B、C、D的顺序进栈,则下列(D)为可能的出栈序列。

A.DCAB B.CDAB C.DBAC D.ACDB104A2(24).顺序栈的上溢是指(B)。

A.栈满时作退栈运算B.栈满时作进栈运算C.栈空时作退栈运算D.栈空时作进栈运算104D3(25).顺序栈S中top为栈顶指针,指向栈顶元素所在的位置,elem为存放栈的数组,则元素e进栈操作的主要语句为(D)。

A.s.elem[top]=e;s.top=s.top+1;B.s.elem[top+1]=e;s.top=s.top+1;C.s.top=s.top+1;s.elem[top+1]=e;D.s.top=s.top+1;s.elem[top]=e;104C2(26).设有5个元素A,B,C,D,E顺序进栈(进栈过程中可以出栈),出栈后依出栈次序进入队列,已知其出队次序为D,C,E,B,A,则该栈容量必定不小于(C)。

A.2 B.3 C.4 D.5104B2(27).设栈S的初始状态为空,现有五个元素组成的序列1,2,3,4,5,对该序列在栈S上依次进行PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH操作,出栈的元素序列是(C)。

A.5,4,3,2,1 B.2,1 C.2,3D.3,4104B2(28).在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top为栈顶指针,则当做出栈处理时,top变化为(C)。

A.top不变B.top=0 C.top- -D.top++104D3(29).向一个栈顶指针为hs的链栈中插入一个*s结点时,应执行(B)。

A.hs->next=s;B.s->next=hs;hs=s;C.s->next=hs->next;hs->next=s;D.s->next=hs;hs=hs->next;105A1(30).在队列中,下列说法正确的是(A)。

A.每次插入总是在队尾,每次删除总是在队头。

B.每次插入总是在队尾,每次删除也总是在队尾。

C.每次插入总是在队头,每次删除也总是在队头。

D.每次插入总是在队头,每次删除总是在队尾。

105D3(31).在带头结点的链队列q中,用q.front表示队头指针,q.rear表示队尾指针,结点结构为B)。

A.s=q.front;q.front->next= s.next;B.s=q.front->next;q.front->next= s.next;C.s=q.front->next;q.front= s.next;D.s=q;q.front->next= s.next;106C3(32).循环队列sq中,用数组elem存放数据元素,sq.front指示队头元素的前一个位置,sq.rear 指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则队列满的条件为(D)。

A.sq.front= sq.rear B.sq.front= sq.rear+1 C.(sq.front +1)mod MAXSIZE= sq.rear D.(sq.rear+1)mod MAXSIZE= sq.front106C2(33).循环队列sq中,用数组elem存放数据元素,sq.front指示队头元素的前一个位置,sq.rear 指示队尾元素的当前位置,队列的最大容量为MAXSIZE,则在队列未满时元素x入队列的主要操作为(A)。

A.sq.rear= (sq.rear+1)mod MAXSIZE;sq.elem[sq.rear]=x;B.sq.elem[sq.rear]=x;sq.rear= (sq.rear+1)mod MAXSIZE;C.sq.front= (sq.front+1)mod MAXSIZE;sq.elem[sq.front]=x;D.sq.elem[sq.front]=x;sq.front= sq.front+1;106B2(34).循环队列sq中,用数组elem[0‥25]存放数据元素,sq.front指示队头元素的前一个位置,sq.rear指示队尾元素的当前位置,设当前sq.front为20,sq.rear为12,则当前队列中的元素个数为(D)。

相关文档
最新文档