数据结构考试题库
- 格式:doc
- 大小:558.50 KB
- 文档页数:26
数据结构考试题及答案一、选择题(每题2分,共20分)1. 以下哪个不是线性数据结构?A. 数组B. 链表C. 树D. 图2. 在一个单链表中,删除一个节点的操作需要知道该节点的:A. 地址B. 值C. 索引D. 前驱节点的引用3. 栈(Stack)是一种:A. 线性表B. 树状结构C. 图结构D. 散列表4. 哈希表解决冲突最常用的方法是:A. 排序B. 链地址法C. 再散列D. 除留余数法5. 以下哪个排序算法是稳定的?A. 快速排序B. 冒泡排序C. 选择排序D. 堆排序二、简答题(每题10分,共30分)1. 简述数组和链表的区别。
2. 解释二叉搜索树的基本概念及其优势。
3. 什么是递归?请给出一个简单的递归算法例子。
三、计算题(每题25分,共50分)1. 给定一个无序数组,请写出一个时间复杂度为O(n log n)的排序算法,并说明其工作原理。
2. 描述如何使用队列来实现一个简单的文本编辑器的撤销和重做功能。
四、编程题(共30分)编写一个函数,该函数接受一个整数数组作为参数,返回数组中所有元素的和。
如果数组为空,返回0。
答案一、选择题1. 答案:C(树和图都是非线性结构)2. 答案:D(需要前驱节点的引用来删除节点)3. 答案:A(栈是一种后进先出的特殊线性表)4. 答案:B(链地址法是解决哈希冲突的常用方法)5. 答案:B(冒泡排序是稳定的排序算法)二、简答题1. 数组和链表的区别:- 数组是连续的内存空间,链表是非连续的。
- 数组的索引访问速度快,链表需要遍历。
- 数组的大小固定,链表动态可变。
2. 二叉搜索树的基本概念及其优势:- 二叉搜索树是一种特殊的二叉树,左子树上所有节点的值小于它的根节点的值,右子树上所有节点的值大于它的根节点的值。
- 优势:支持快速的查找、插入和删除操作。
3. 递归是函数自己调用自己的过程。
例如,计算n的阶乘的递归算法: ```cint factorial(int n) {if (n <= 1) return 1;return n * factorial(n - 1);}```三、计算题1. 快速排序算法:- 选择一个元素作为“基准”(pivot)。
一、单选题(每题 2 分,共20分)1. 1.对一个算法的评价,不包括如下(B )方面的内容。
A.健壮性和可读性B.并行性C.正确性D.时空复杂度2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行(A )。
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. 3.对线性表,在下列哪种情况下应当采用链表表示?( B )A.经常需要随机地存取元素B.经常需要进行插入和删除操作C.表中元素需要占据一片连续的存储空间D.表中元素的个数不变4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C )A. 2 3 1B. 3 2 1C. 3 1 2D. 1 2 35. 5.AOV网是一种( D )。
A.有向图B.无向图C.无向无环图D.有向无环图6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度(B )。
A.低于链接法处理冲突 B. 高于链接法处理冲突C.与链接法处理冲突相同D.高于二分查找7.7.若需要利用形参直接访问实参时,应将形参变量说明为(D )参数。
A.值B.函数C.指针D.引用8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的(A )。
A.行号B.列号C.元素值D.非零元素个数9.9.快速排序在最坏情况下的时间复杂度为(D )。
A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2)10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。
A. O(n)B. O(1)C. O(log2n)D. O(n2)二、二、运算题(每题 6 分,共24分)1. 1.数据结构是指数据及其相互之间的______联系______。
数据结构考试试题题库一、选择题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. 解释什么是递归,并给出一个使用递归解决实际问题的例子。
结束语数据结构的学习不仅仅是对概念的理解,更重要的是能够将这些概念应用到实际问题的解决中。
通过本题库的练习,希望能够加深你对数据结构的理解和应用能力。
请注意,这只是一个示例题库,实际的考试题库可能会包含更多的题目和不同的题型。
考生应根据具体的课程内容和考试要求来准备。
数据结构考试试题一、选择题(每题2分,共20分)1. 在数据结构中,队列是一种______。
A. 线性结构B. 非线性结构C. 树形结构D. 图结构2. 对于长度为n的线性表,在顺序存储结构中,从第i个元素(1≤i≤n)开始,连续做m(1≤m≤n-i+1)个元素的删除操作,需要进行的移动元素次数为______。
A. mB. n-mC. i+m-1D. m+n-m-13. 在二叉树的遍历中,先序遍历的顺序是______。
A. 根左右B. 左右根C. 左根右D. 左右根4. 哈希表的冲突可以通过多种方式解决,其中不是解决冲突的方法是______。
A. 开放寻址法B. 链地址法C. 建立一个公共溢出区D. 二分查找法5. 排序算法中,时间复杂度为O(nlogn)的算法是______。
A. 选择排序B. 冒泡排序C. 快速排序D. 插入排序6. 在图的遍历中,深度优先搜索(DFS)使用的是______。
A. 栈B. 队列C. 哈希表D. 数组7. 堆排序算法中,将堆中的最后一个元素和第一个元素交换,然后重新调整堆的过程称为______。
A. 堆调整B. 堆缩小C. 堆替换D. 堆重建8. 一个长度为n的链表,删除已知第k个元素的时间复杂度是______。
A. O(1)B. O(n)C. O(k)D. O(nk)9. 字符串“Knuth”在一棵二叉查找树中,按照K->n->u->t->h的顺序插入后,使用中序遍历得到的结果是______。
A. hKnuctB. hnKutC. hKnutD. hnuct10. 对于长度为n的数组,如果使用归并排序算法进行排序,其时间复杂度为______。
A. O(n)B. O(n^2)C. O(nlogn)D. O(logn)二、简答题(每题5分,共30分)11. 请简述什么是时间复杂度,并给出最好、最坏和平均时间复杂度的定义。
12. 解释一下什么是平衡二叉树,并说明它在数据结构中的重要性。
第 1 章 绪论一、选择题1. 算法的计算量的大小称为计算的( )。
【北京邮电大学 2000 二、 3( 20/8 分) 】A . 效 率B.复杂性C.现实性 D. 难度2. 算法的时间复杂度取决于( )【 中科院计算所 1998 二、 1( 2 分)】A.问题的规模B. 待处理数据的初态C. A 和 B3. 计算机算法指的是( 1),它必须具备( 2) 这三个特性。
(1) A .计算方法 B. 排序方法 C. 解决问题的步骤序 列 D. 调度方法(2) A .可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全 性B. 为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性 误的 6.下面说法错误的是()【南京理工大学 2000 一、 2 (1.5 分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模 n 下,复杂度0(n )的算法在时间上总是优于复杂度 0(2")的算法( 3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界( 4)同一个算法,实现语言的级别越高,执行效率就越低A . (1) B.(1),(2)7. 从逻辑上可以把数据结构分为( 4( 2 分)】A .动态结构、静态结构 C.线性结构、非线性结构 8. 以下与数据的存储结构无关的术语是( 分)】A . 循 环 队 列 表 D. 栈9. 以下数据结构中,哪一个是线性结构( 分)】A . 广 义 表C.(1),(4)D.(3))两大类。
【武汉交通科技大学 1996 B.顺序结构、链式结构D.4.【南京理工大学 一个算法应该是( A .程序性5. 1999 一、 1( 2 分) 【武汉交通科技大学 )。
【中山大学 1998 二、B .问题求解步骤的描述D. A 和 C.下面关于算法说法错误的是(A. 算法最终必须由计算机程序实现 1996 一、1( 4 分)】1(2 分)】 C.要满足五个基本特 )【南京理工大学2000 一、 1( 1.5 分)】D. 以上几个都是错)。
数据结构试题6一、单项选择题(每小题3分,共30分)1.设栈的输入序列是1、2、3、4,则______不可能是其出栈序列。
( )[A] 1234 [B] 2134 [C] 1432 [D] 43122.在一个具有n个结点的线性链表中查找某个结点,若查找成功,需要平均比较_____个结点。
( )[A] n [B] n/2 [C] (n+1)/2 [D] (n-1)/23.设每个字符占一个字节,二维数组A中每个元素有6个字符组成,其行下标从0到9,列下标从0到3,元素_____当A按行优先存储起始地址与当A按列优先存储的起始地址相同。
( )[A] A[3][0] [B] A[3][1] [C] A[3][2] [D] A[2][3]4.具有2000个结点的非空二叉树的最小深度为_______。
( )[A] 9 [B] 10 [C] 11 [D] 125.已知某二叉树的后根序列是dabec,中根序列是debac,则先根序列是_____。
( )[A] acbed [B] decab [C] deabc [D] cedba6. 无向图中所有边的数目等于所有顶点的度数之和的_____倍。
( )[A] 1 [B] 2 [C] 1/2 [D] 不一定7.递归函数F(n)=F(n-1)+n+1(n>1)的递归体是_______。
( )[A] F(0)=0 [B] F(1)=1 [C] F(n)=n+1 [D] F(n)=F(n-1)+n+18. 若需要在O(nlog2n)的时间内完成对n个元素的排序,且要求排序是稳定的,则可选择的排序方法是_______。
( )[A] 快速排序[B] 堆排序[C] 归并排序[D] 直接插入排序9.在对n个元素的序列进行排序时,堆排序所需要的附加存储空间是__。
( )[A] O(1) [B] O(log2n) [C] O(n) [D] O(n log2n)10.假定有K个关键字互为同义词,若用线性探查法把这K个关键字存入散列表中,则总的探查次数至少为______。
数据结构考试题及答案一、选择题1. 以下哪种数据结构在实现栈时最为高效?A. 链表B. 数组C. 树D. 图答案:B2. 快速排序算法的时间复杂度在最坏情况下是多少?A. O(n)B. O(nlogn)C. O(n^2)D. O(n^3)答案:C3. 在二叉搜索树中,若要查找给定值的节点,应该按照以下哪种方式进行?A. 从根节点开始,向左或向右子树交替进行B. 从根节点开始,始终向左子树进行C. 从根节点开始,始终向右子树进行D. 从最底层节点开始向上进行答案:A4. 哈希表的主要优点是什么?A. 有序存储数据B. 高效的查找、插入和删除操作C. 动态扩容D. 消耗内存小答案:B5. 下面哪种数据结构通常用于实现高效的多对一映射?A. 数组B. 链表C. 哈希表D. 树答案:C二、填空题1. 在平衡树中,AVL树通过_________来保持树的平衡。
答案:旋转2. 堆数据结构通常用来实现_________等优先队列。
答案:最大/最小3. 拓扑排序是针对有向无环图(DAG)的一种排序算法,它能够反映出任务间的_________关系。
答案:依赖4. 广度优先搜索(BFS)算法使用_________数据结构来实现。
答案:队列5. 斐波那契数列可以通过递归算法、动态规划以及_________等方法来计算。
答案:矩阵快速幂三、简答题1. 请简述链表和数组的区别及各自的优缺点。
答案:链表由一系列节点组成,每个节点包含数据和指向下一个节点的指针。
它的优点是能够在常数时间内在任意位置插入或删除元素,但随机访问效率较低。
数组是一段连续的内存空间,可以存储一系列相同类型的元素。
它的优点是支持高效的随机访问,但插入和删除操作通常需要移动大量元素,且大小固定或调整大小成本较高。
2. 描述二分查找的工作原理及其适用条件。
答案:二分查找是一种在有序数组中查找特定元素的算法。
它的工作原理是将数组分为两半,比较中间元素与目标值,如果相等则查找结束;如果目标值较小,则在左半部分继续查找;如果目标值较大,则在右半部分继续查找。
数据结构考试试题题库一、选择题1. 在数据结构中,栈(Stack)是一种特殊的线性表,其特点是:A. 允许在表的任意位置插入和删除元素B. 只能在表的一端进行插入和删除操作C. 只能在表的两端进行插入和删除操作D. 只能在表的中间进行插入和删除操作答案:B2. 假设有一个单链表,头结点的指针域为head,链表中每个结点包含一个数据域data和指向下一个结点的指针域next。
若要删除指针p所指向的结点,以下哪个操作是正确的?A. p = p->nextB. p->next = p->next->nextC. p = p->next->nextD. p = NULL答案:B3. 在二叉树的遍历算法中,先序遍历的顺序是:A. 先访问根节点,然后遍历左子树,最后遍历右子树B. 先遍历左子树,然后访问根节点,最后遍历右子树C. 先遍历右子树,然后访问根节点,最后遍历左子树D. 同时遍历左子树和右子树答案:A4. 哈希表的冲突可以通过多种方式解决,以下哪种不是解决哈希表冲突的方法?A. 链地址法B. 开放地址法C. 再哈希法D. 排序法答案:D5. 快速排序算法的时间复杂度在最好、最坏和平均情况下分别是:A. O(n log n), O(n^2), O(n)B. O(n), O(n log n), O(n^2)C. O(n log n), O(n), O(n log n)D. O(n^2), O(n log n), O(n)答案:A二、简答题1. 请简述什么是图,并说明图的两种基本表示方法。
答案:图是一种数据结构,由顶点(或称为节点)和边组成。
图可以表示为有向图或无向图。
图的两种基本表示方法为邻接矩阵和邻接表。
邻接矩阵是一个二维数组,其元素表示顶点之间的连接关系;邻接表则使用链表存储每个顶点的邻接点。
2. 什么是二叉搜索树(BST)?请简述其特点。
答案:二叉搜索树是一种特殊的二叉树,其中每个节点的值都大于或等于其左子树中所有节点的值,并且小于或等于其右子树中所有节点的值。
数据结构考试题库含答案数据结构考试题库含答案Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】数据结构习题集含答案目录选择题第一章绪论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 )。
A、空间复杂度和时间复杂度B、正确性和简明性C、可读性和文档性D、数据复杂性和程序复杂性8.计算机内部处理的基本单元是(B )A、数据B、数据元素C、数据项D、数据库9.数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要(B )。
A、低B、高C、相同D、不好说10.算法的时间复杂度取决于( C )A 、问题的规模B、待处理数据的初始状态C、问题的规模和待处理数据的初始状态D、不好说11.数据结构既研究数据的逻辑结构,又研究物理结构,这种观点(B )。
数据结构考试题库绪论一、填空题1.数据的逻辑结构被分为集合、(线性结构)、(树形结构)和(图状结构)四种。
2.物理结构是数据结构在计算机中的表示,又称为(存储结构)。
3.数据元素的逻辑结构包括( 线性)、(树)和图状结构3种类型,树形结构和图状结构合称为(非线性结构)。
4.(数据元素)是数据的基本单位,(数据项)是数据不可分割的最小单位。
5.线性结构中元素之间存在(一个对一个)关系,树形结构中元素之间存在(一个对多个)关系,图状结构中元素之间存在(多个对多个)关系。
?6.数据结构是一门研究非数值计算的程序设计问题中:计算机的(数据元素)以及它们之间的(关系)和(运筹)等的学科。
7.算法的五个重要特性为有穷性、确定性、(输入)、(输出)和(可行性)。
二、选择题1.数据的不可分割的基本单位是(D)。
A.元素B.结点C.数据类型D.数据项*2.线性表的逻辑顺序与存储顺序总是一致的,这种说法(B)。
A.正确B.不正确C.不确定D.无法选择3.线性结构是指数据元素之间存在一种(D)。
精心整理,用心做精品2A.一对多关系B.多对多关系C.多对一关系D.一对一关系4.在数据结构中,从逻辑上可以把数据结构分成(A)。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构5.线性表若采用链式存储结构时,要求内存中可用存储单元的地址( D)。
A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续不连续都可以三、简答题1.算法的特性是什么。
答:有穷性确定性可行性有0或多个输入有1或多个输出线性结构一、填空题1.在一个长度为n的线性表中删除第i个元素(1≤i≤n)时,需向前移动(n-i)个元素。
2.从循环队列中删除一个元素时,其操作是(先移动队首指针,后取出元素)。
3.在线性表的单链接存储中,若一个元素所在结点的地址为p,则其后继结点的地址为(p->next)。
4.在一个单链表中指针p所指向结点的后面插入一个指针q所指向的结点时,首先把(p->next)的值赋给q->next,然后(q->date)的值赋给p->next。
5.从一个栈删除元素时,首先取出(栈顶元素),然后再使(栈顶指针)减1。
6.子串的定位操作通常称做串的(模式匹配)。
精心整理,用心做精品37.设目标T=‘abccdcdccbaa’,模式P=‘cdcc’则第(六)次匹配成功。
8. 顺序栈 S 中,出栈操作时要执行的语句序列中有 S->top(--);进栈操作时要执行的语句序列中有S->top(++)。
9.顺序表中逻辑上相邻元素的物理位置(一定)紧邻;单链表中逻辑上相邻元素的物理位置(不一定)紧邻。
10.在(循环)链表中,从任何一结点出发都能访问到表中的所有结点。
11.栈和队列均是(运算受限)的线性表,栈的特点是(先进后出后进先出);队列的特点是(先进先出后进后出)。
12.通常,在程序中使用的串可分为串常量和串变量;而串按存储方式又可分为(定长顺序存储)和(堆分配存储)。
13.循环队列头指针front指向队头元素,队尾指针rear指向队尾元素后的一个空闲元素,队列的最大空间为Queuelen。
在循环队列中,队空标志为(front==rear),队满标志为((rear+1)%max==front)。
当rear>=front时,队列长度为(rear-front),当rear<front时,队列长度为(rear-front+max)。
14.在一个长度为n的线性表中的第i个元素(1≤i≤n)之前插入一个元素时,需向后移动(n-i+1)个元素。
15.在具有n个单元的循环队列中,队满时共有(n-1)个元素。
16.带有一个头结点的单链表Head为空的条件是(Head->next==null)。
精心整理,用心做精品417.在一个单链表中删除指针p所指向结点的后继结点时,需要把(p->next->next)值赋给p->next 指针域。
18.一个顺序循环队列存于a[M]中,假定队首和队尾指针分别为front和rear,则判断队空的条件为( a.front==a.rear),判断队满的条件为((a.rear+1)%M==a.front)。
19.在双向链表中,每个结点有两个指针域,一个指向其(前驱) 结点,另一个指向其(后继)结点,最后一个结点的(后继结点)指针域为空。
*20. 若 D=((a , (b , c)) , e , a) ,则 Head( D )=( ) ,Tail( D )=( ),Head(Tail( D ))=( )。
(本人不会)21.在循环链表中,每个结点有(一个)个指针域,指向其(后继)结点,最后一个结点的指针域(为空)。
*22. 若 S=(a , (b , c) , e , d) ,则 Head( S )=( ) , Tail( S )=( ),Head(Tail( S ))=( )。
(本人不会)二、选择题1.在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p之间插入一个s所指的结点,则执行(A)。
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;2.对于顺序存储的队列,存储空间大小为n,头指针为F,尾指针为R。
若在逻辑上看一个环,则队列中元素的个数(A)。
A.R-F B.n+R-F C.(R-F+1)mod n D.(n+R-F)mod n精心整理,用心做精品53.如下陈述中正确的是(A)。
A.串是一种特殊的线性表B.串的长度必须大于零C.串中元素只能是字母D.空串就是空白串4.若让元素1,2,3依次进栈,则出栈次序不可能出现(C) 的情况。
A.3,2,1B.2,1,3C.3,1,2D.1,3,25.判定一个队列QU(最多元素为m0)为空的条件是(C)。
A.QU->rear-QU->front==m0B.QU->rear-QU->front-1==m0C.QU->front==QU->rearD.QU->front==QU->rear+16.设目标串S=‘abcdef’,模式串p=‘de’,则第(C)次匹配成功。
A.1B.2C.4D.57.设字符串s1=‘ABCDEFG’,S2=‘PQRST’,T,sub1,sub2为空串。
则运算s=Concat(T ,SubString(sub1 ,s1 ,2 ,SubLength(s2)),SubString(sub2,s1,SubLength(s2),2)) 后的串T值为( D)。
A.‘BCDEF’B.‘BCDEFG’C.‘BCPQRST’D.‘BCDEFEF’8.一个顺序线性表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( B)。
A.100B.108C.110D.1209.非空的循环单链表head的尾结点(由p所指向)满足(C)。
A.p->next==NULLB.p==NULLC.p->next==headD.p==head精心整理,用心做精品610.在一个链队中,假设f和r分别为队首和队尾指针,则删除一个结点的运算时(C)。
A.r=f->next;B.r=r->next;C.f=f->next;D.f=r->next;11.在一个长度为n的线性表中,删除值为x的元素时,需要比较元素和移动元素的总次数为(C)。
A.(n+1)/2B.n/2C.nD.n+112.在一个单链表中,若要在p所指向的结点之后插入一个新结点,则需要相继修改(B)个指针域的值。
A.1B.2C.3D.413.线性结构中,每个结点(C)。
A.无直接前驱B.只有一个直接前驱和个数不受限制的直接后继C.只有一个直接前驱和后继D.有个数不受限制的直接前驱和后继14.队列是限定在(D)进行操作的线性表。
A.中间B.队头C.队尾D.端点15.设串S1=“ABCDEFG”,S2=“PQRST”,函数StrCat(x,y)返回x和y串的连接串,函数StrSub(S,i,j)返回串S的从序号i 的字符开始的j个字符组成的子串,StrLen(S)返回串S的长度,则StrCat(StrSub(S1,2,StrLen(S2)),StrSub(S1,StrLen (S2),2))的结果串是(D)。
A.BCDEFB.BCDEFGC.BCPQRSTD.BCDEFEF16.学生成绩表是一种(C)结构。
精心整理,用心做精品7A.图形B.树形C.线性D.集合17.在一个链队中,假设f和r分别为队首和队尾指针,则插入s 所指结点的运算时(C)。
A.f->next=s; f=s;B.r->next=s; r=s;C.s->next=r; r=s;D.s->next=f; f=s;18.向顺序表中的i位置处插入元素,下面哪项能够准确的表明i的位置是合法的。
(D)A.i<=1||i>l->length+1B.i>=1C.i>=l->length+1D.1<=i<=l->length+119.设线性链表中结点的结构为(data,next),已知指针q所指结点是指针p所指结点的直接后继,若在*q和*p之间插入结点*s,则应执行(A)操作。
A.s->next=p->next; p->next=s;B.q->next=s; s->next=p;C.p->next=s->next; s->next=p;D.p->next==s; s->next=q;20.一个栈的入栈序列为a,b,c,d,e,则出栈序列不可能的是(C)。
A.edcbaB.dcbaeC.dceabD.abcde21.如果以链表作为栈的存储结构,则出栈操作时(B)。
A.必须判别栈是否满B.必须判别栈是否为空C.必须判别栈元素类型D.可不做任何判断22.设有两个串p和q,求q在p中首次出现的位置的运算称为 (B)。
A.连接B.模式匹配C.求子串D.求串长23.p指向线性链表中的某一结点,则在线性链表的表尾插入结点S的语句序列是(A)。
A.while(p->next!=NULL) p=p->next; p->next=s; s->next=N ULL;精心整理,用心做精品8B.while(p!=NULL) p=p->next; p->next=s; s->next=NULL;C.while(p->next!=NULL) p=p->next; s->next=p;p->next=NULL;D.while(p!=NULL) p=p->next->next;->next;p->next=s;s->next=p24.向顺序栈中压入新元素时,应当(A)。