数据结构试题库答案
数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)1. 单选题1) 数据结构是一种()。
a) 存储结构b) 算法c) 数据模型d) 网络答案:c) 数据模型解析:数据结构是一种用于组织和存储数据的方式,描述了数据之间的关系以及对数据的操作。
2) 以下哪种数据结构可以通过索引直接访问元素?a) 链表b) 队列c) 栈d) 数组答案:d) 数组解析:数组是一种线性数据结构,可以通过索引直接访问指定位置的元素。
2. 多选题1) 哪些数据结构属于非线性结构?()a) 队列b) 树c) 栈d) 图答案:b) 树d) 图解析:线性结构中的元素存在一对一的关系,非线性结构中的元素存在一对多或多对多的关系,树和图属于非线性结构。
2) 下列哪些操作可以在栈上进行?()a) 入栈b) 出栈c) 查找d) 删除答案:a) 入栈b) 出栈解析:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。
3. 简答题1) 请简要介绍线性表和非线性表。
答案:线性表是数据元素的一个有限序列,元素之间存在一对一的关系。
非线性表是指元素之间存在一对多或多对多的关系,如树和图。
2) 请解释什么是时间复杂度和空间复杂度。
答案:时间复杂度是衡量算法执行效率的度量,表示算法的运行时间随输入规模增长的速度。
空间复杂度是指算法执行过程中所需的存储空间随输入规模增长的速度。
4. 编程题题目:实现一个栈,包含push、pop和getMin三个操作,要求时间复杂度为O(1)。
答案:class MinStack:def __init__(self):self.stack = []self.min_stack = []def push(self, x):self.stack.append(x)if not self.min_stack or x <= self.min_stack[-1]:self.min_stack.append(x)def pop(self):if self.stack.pop() == self.min_stack[-1]:self.min_stack.pop()def getMin(self):return self.min_stack[-1]解析:在栈的基础上,使用一个辅助栈min_stack来记录当前栈中的最小值。
数据结构试题及答案(十套)

一、单选题(每题 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)的联系时,称这种结构为_____________________。
数据结构试题及答案

数据结构试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是元素之间存在一对一的线性关系。
以下哪个数据结构不属于线性结构?A. 栈B. 队列C. 树D. 链表答案:C2. 栈(Stack)是一种后进先出(LIFO)的数据结构,以下哪个操作不是栈的基本操作?A. PushB. PopC. TopD. Sort答案:D3. 在二叉树的遍历中,前序遍历的顺序是:A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表的冲突可以通过多种方法解决,以下哪个不是解决哈希表冲突的方法?A. 链地址法B. 开放地址法C. 再散列法D. 排序法答案:D5. 以下哪个排序算法是稳定的?A. 快速排序B. 堆排序C. 归并排序D. 选择排序答案:C6. 在图的遍历中,深度优先搜索(DFS)使用的是哪种数据结构来实现?A. 队列B. 栈C. 链表D. 哈希表答案:B7. 以下哪个是图的存储方式?A. 顺序存储B. 链式存储C. 散列表D. 矩阵存储答案:D8. 动态数组(如C++中的vector)在插入元素时可能需要进行的操作是:A. 原地扩展B. 复制元素C. 重新分配内存D. 释放内存答案:C9. 以下哪个不是算法的时间复杂度?A. O(1)B. O(log n)C. O(n^2)D. O(n!)答案:D10. 在查找算法中,二分查找法要求被查找的数据必须是:A. 无序的B. 有序的C. 随机分布的D. 唯一元素答案:B二、简答题(每题5分,共30分)1. 简述链表和数组的区别。
答案:链表和数组都是存储数据的线性数据结构,但它们在内存分配、访问方式、插入和删除操作等方面存在差异。
数组在内存中是连续存储的,可以通过索引快速访问任意元素,但插入和删除元素时可能需要移动大量元素。
链表在内存中是非连续存储的,每个元素包含数据和指向下一个元素的指针,不支持通过索引快速访问,但插入和删除操作只需要改变指针,不需要移动其他元素。
数据结构试题集(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,试画出该二叉树形状,并写出它的后序遍历序列。
数据结构试题库及答案

数据结构试题库及答案一、选择题(每题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 章 绪论一、选择题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. 以上几个都是错)。
数据结构试题(含答案)

数据结构试题一、单选题1、在数据结构的讨论中把数据结构从逻辑上分为(C )A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构。
2、采用线性链表表示一个向量时,要求占用的存储空间地址(D )A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。
A nB n/2C (n-1)/2D (n+1)/2?4、在一个单链表中,若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. 下列哪种数据结构是一种线性结构?A. 树B. 栈C. 图D. 队列答案:B. 栈2. 以下哪种不是二叉树的遍历方式?A. 先序遍历B. 层序遍历C. 后序遍历D. 中序遍历答案:B. 层序遍历3. 在队列中,哪种操作不是O(1)时间复杂度的?A. 入队B. 出队C. 判空D. 获取队首元素答案:D. 获取队首元素二、填空题4. 二叉查找树的中序遍历结果为_______。
答案:升序排列的序列5. 栈的特点是_______进,_______出。
答案:后进,先出6. 图中两点间存在边则称它们为_______。
答案:邻接点三、简答题7. 请简要介绍一下栈和队列的应用场景及区别。
答:栈和队列都是常用的数据结构,栈适合用于实现括号匹配、表达式求值等场景,而队列常用于实现广度优先搜索、缓存队列等。
栈是一种后进先出的数据结构,而队列是一种先进先出的数据结构。
8. 什么是哈希表?它的优缺点分别是什么?答:哈希表是一种通过哈希函数将关键字映射到数组位置的数据结构。
其优点是能够快速查找、插入、删除元素,时间复杂度接近O(1);缺点是可能发生哈希冲突,导致性能下降。
四、综合题9. 给定以下无向图的邻接矩阵表示,请写出图的深度优先搜索(DFS)遍历路径。
```0 1 2 30 0 1 0 11 1 0 1 12 0 1 0 13 1 1 1 0```答:起始节点为0,路径:0 - 1 - 3 - 210. 写出以下树的层序遍历结果。
```1/ \2 3/ \ / \4 5 6 7```答:1 - 2 - 3 - 4 - 5 - 6 - 7以上就是数据结构考试题及答案,希望对您有所帮助。
如果有不清楚的地方,欢迎随时向老师询问。
祝您考试顺利!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构试题及答案一、单项选择题(1)一个算法应该就是()。
A)程序ﻩﻩﻩB)问题求解步骤得描述C)要满足五个基本属性ﻩﻩD) A与C(2)算法指得就是()。
A)计算机程序ﻩﻩﻩB)解决问题得计算方法C)排序算法ﻩﻩﻩD)解决问题得有限运算序列。
(3)与数据元素本身得形式、内容、相对位置、个数无关得就是数据得()。
A) 存储结构B) 逻辑结构C)算法D)操作(4)从逻辑上可以把数据结构分为( )两大类。
A)动态结构、静态结构ﻩﻩB) 顺序结构、链式结构C)线性结构、非线性结构ﻩﻩﻩD)初等结构、构造型结构(5)下列叙述中正确得就是()。
A)一个逻辑数据结构只能有一种存储结构B)数据得逻辑结构属于线性结构,存储结构属于非线性结构C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理得效率D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理得效率(6)数据得基本单位就是()ﻩA) 数据项ﻩﻩB) 数据类型C)数据元素ﻩﻩD)数据变量(7)下列程序得时间复杂度为()i=0;s=0;while(s<n){i++;s=s+i;}A)O()ﻩB)O() ﻩC) O(n)ﻩﻩD)O(n2)(8)下列程序段得渐进时间复杂度为()。
for( int i=1;i〈=n;i++)for(int j=1;j〈= m; j++)A[i][j] =i*j ;A)O(m2) B)O(n2)ﻩC)O(m*n)ﻩD)(m+n)(9)程序段如下:sum=0;for(i=1;i<=n;i++)for(j=1;j〈=n;j++)sum++;其中n为正整数,则最后一行得语句频度在最坏情况下就是()。
A)O(n)ﻩﻩB)O(nlogn) ﻩC)O(n3)ﻩﻩﻩD)O(n2)(10)在下面得程序段中,对x得赋值语句得频度为( )。
for(i=1;i>=n ;i++)for ( j=1;j>=n ;j++)x:=x+1;A)O(2n)ﻩB)O(n)ﻩC) O(n2)ﻩD) O(log2n) (11)程序段for ( i:=n—1; i<=1;i--)for (j:=1;j>=i ; j++)if(a[j]>a[j+1]){ t=a[j];a[j]= a[j+1];a[j+1]= t; }其中n为正整数,则最后一行得语句频度在最坏情况下就是()。
A) O(n)ﻩB)O(nlogn) C)O(n3) ﻩﻩD) O(n2)(12)设有一个递归算法如下:int fact(int n){/*大于等于0*/if ( n〈=0)return 1;else return n*fact(n—1) ;}则计算fact(n)需要调用该函数得次数为( )。
A)n B)n+1 ﻩC) n+2 D) n-1 (13)下述程序段中语句①得频度就是( )。
s=0;for(i=1;i〈m;i++)for(j=0;j<=i;j++)s+=j;A) ﻩB) ﻩC)ﻩD)(14)若某线性表中最常用得操作就是在最后一个元素之后插入一个元素与删除第一个元素,则最节省运算时间得存储方式就是( )。
A)单链表ﻩﻩB)仅有头指针得单循环链表C)双链表ﻩﻩﻩﻩD)仅有尾指针得单循环链表(1)求循环链表中当前结点得后继与前驱得时间复杂度分别就是()。
A)O(n)与O(1)ﻩﻩB)O(1)与O(1)C) O(1)与O(n) D)O(n)与O(n)(15)求单链表中当前结点得后继与前驱得时间复杂度分别就是( ).ﻩA)O(n)与O(1)ﻩB) O(1)与O(1)ﻩC)O(1)与O(n)ﻩﻩD) O(n)与O(n)(16)非空得单循环链表得头指针为head,尾指针为rear,则下列条件成立得就是( )。
ﻩA)rear->next==headﻩB) rear—〉next->next= =headﻩC)head—>next= =rear D)head—〉next—〉next==rear (17)从一个长度为n得顺序表中删除第i个元素(1≤i≤n)时,需向前移动得元素得个数就是()。
A)n-i ﻩﻩﻩB)n-i+1 ﻩﻩC)n-i—1ﻩﻩﻩD)i(18)已知一个有序表为(13,18,24,35,47,50,62,83,90,115,134),当二分检索值为90得元素时,检索成功需比较得次数就是()。
A)1 ﻩﻩﻩB)2 ﻩﻩﻩC)3 ﻩD)4(19)假设以行优先顺序存储三维数组R[6][9][6],其中元素R[0][0][0]得地址为2100,且每个元素占4个存储单元,则存储地址为2836得元素就是()。
A)R[3][3][3] ﻩB)R[3][3][4] ﻩﻩC)R[4][3][5] D)R[4][3][4](20)设有一个10阶得对称矩阵A,采用压缩存储方式以行序为主序存储,a00为第一个元素,其存储地址为0,每个元素占有1个存储地址空间,则a45得地址为()。
A)13 B) 35ﻩﻩﻩﻩC)17ﻩﻩﻩﻩD)36(21)线性表采用链式存储时,节点得存储得地址()。
A) 必须就是不连续得ﻩB)连续与否均可C)必须就是连续得ﻩﻩD)与头节点得存储地址相连续(22)用链表表示线性表得优点就是()。
A)便于随机存取B)花费得存储空间比顺序表少C)数据元素得物理顺序与逻辑顺序相同D)便于插入与删除(23)链表不具有得特点就是()。
A)插入、删除不需要移动元素ﻩﻩB)可随机访问任一元素C) 不必事先估计存储空间ﻩD)所需空间与线性长度成正比(24)在长度为n得顺序表中删除第i个元素(1≤i≤n)时,元素移动得次数为( )。
A) n—i+1 ﻩB)iﻩC)i+1ﻩD)n-i(25)采用顺序搜索方法查找长度为n得顺序表示,搜索成功得平均搜索长度为().A)nﻩB) n/2 ﻩC)(n—1)/2ﻩD)(n+1)/2(26)将长度为n得单链表链接在长度为m得单链表之后得算法得时间复杂度为()。
A) O(1)B)O(n)ﻩﻩC)O(m) ﻩD) O(m+n)(27)若不带头结点得单链表得头指针为head,则该链表为空得判定条件就是()。
A) head==NULL ﻩB)head-〉next==NULLﻩC) head!=NULLﻩD) head->next==head(28)某线性表中最常用得操作就是在最后一个元素之后插入一个元素与删除第一个元素,则采用( )存储方式最节省运算时间。
A)单链表ﻩﻩﻩB)仅有头指针得单循环链表C)双链表ﻩﻩﻩD) 仅有尾指针得单循环链表(29)若允许表达式内多种括号混合嵌套,则为检查表达式中括号就是否正确配对得算法,通常选用得辅助结构就是()。
ﻩﻩA)栈ﻩB) 线性表ﻩC)队列ﻩﻩﻩD)二叉排序树(30)顺序栈S中top为栈顶指针,指向栈顶元素所在得位置,elem为存放栈得数组,则元素e进栈操作得主要语句为()。
A)s、elem[top]=e;s、top=s、top+1; B)s、elem[top+1]=e;s、top=s、to p+1;C) s、top=s、top+1;s、elem[top+1]=e;ﻩﻩD) s、top=s、top+1;s、elem[top]=e;(31)循环队列sq中,用数组elem[0··25]存放数据元素,sq、front指示队头元素得前一个位置,sq、rear指示队尾元素得当前位置,设当前sq、front为20,sq、rear为12,则当前队列中得元素个数为()。
A)8 ﻩB) 16 ﻩC) 17 ﻩﻩﻩD) 18(32)链式栈与顺序栈相比,一个比较明显得优点就是()。
A) 插入操作更加方便ﻩﻩB) 通常不会出现栈满得情况C)不会出现栈空得情况ﻩﻩﻩﻩD)删除操作更加方便(33)一个递归得定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来瞧,通常递归过程比非递归过程( )。
A) 较快B) 较慢ﻩC)相同ﻩD) 不定(34)若已知一个栈得入栈序列就是1,2,3,4……n,其输出序列为p1,p2,p3,……pn,若p1= =n,则pi为()。
ﻩA) iﻩB)n= =i ﻩC)n—i+1ﻩD)不确定(35)一个栈得入栈序列就是a,b,c,d,e,则栈得不可能得输出序列就是( )。
A) edcbaB) decbaﻩC)dceabﻩ D)abcde(36)若进栈序列为1,2,3,4,5,6,且进栈与出栈可以穿插进行,则不可能出现得出栈序列就是()。
A)2,4,3,1,5,6 ﻩﻩB)3,2,4,1,6,5C)4,3,2,1,5,6 ﻩﻩﻩD)2,3,5,1,6,4(37)对于栈操作数据得原则就是().A)先进先出ﻩB)后进先出ﻩC) 后进后出D) 不分顺序(38)栈与队列得共同点就是( ).A) 都就是先进先出B)都就是先进后出C) 只允许在端点处插入与删除元素D)没有共同点(39)一个队列得入队序列就是1,2,3,4,则队列得输出序列就是()。
A)4,3,2,1 ﻩB)1,2,3,4 C)1,4,3,2D) 3,2,4,1(40)设数组data[m]作为循环队列SQ得存储空间,front为队头指针,rear为队尾指针,则执行出对操作后其头指针front值为()。
A)front=front+1ﻩﻩB) front=(front+1)%(m—1)C) front=(front-1)%m ﻩﻩﻩﻩD)front=(front+1)%m(41)引起循环队列队头位置发生变化得操作就是().A) 出队ﻩﻩﻩB)入队ﻩC) 取队头元素D)取队尾元素(2)设以数组A[m]存放循环队列得元素,其头尾指针分别为front与rear,则当前队列中得元素个数为( )。
A)(rear—front+m)%m B)rear-front+1 ﻩC)(front—rear+m)%m D)(rear-front)%m(42)二维数组A[12][18]采用列优先得存储方法,若每个元素各占3个存储单元,且A[0][0]地址为150,则元素A[9][7]得地址为( ).A) 429 ﻩB) 432ﻩﻩC) 435ﻩD)438(43)设有一个10阶得对称矩阵A[10][10],采用压缩方式按行将矩阵中下三角部分得元素存入一维数组B[]中,A[0][0]存入B[0]中,则A[8][5]在B[]中()位置。
A)32ﻩﻩﻩB)33ﻩC) 41 ﻩﻩD) 65(44)若对n阶对称矩阵A以行序为主序方式将其下三角形得元素(包括主对角线上所有元素)依次存放于一维数组B[1、、(n(n+1))/2]中,则在B中确定aij(i〈j)得位置k得关系为( ).A) i*(i—1)/2+jﻩB)j*(j-1)/2+i ﻩﻩC) i*(i+1)/2+j ﻩD)j*(j+1)/2+i(45)对稀疏矩阵进行压缩存储目得就是().A) 便于进行矩阵运算ﻩﻩB)便于输入与输出C) 节省存储空间ﻩD)降低运算得时间复杂度(46)对广义表L=((a,b),(c,d),(e,f))执行操作tail(tail(L))得结果就是( )。