数据结构 测试题3

测试三

一.单项选择题(2分/题)

1.一棵左右子树均不空的二叉树在先序前驱和后序后继线索化后,其空链域数为()。

A.0

B.1

C.2

D.不确定

2.设图G采用邻接表存储,则拓扑排序算法的时间复杂度是()。

A.O(n)

B.O(n+e)

C.O(n2)

D.O(n*e)

3.下列排序算法中,时间复杂度为O(nlog2n)且占用额外空间最少的是()。

A.堆排序

B.冒泡排序

C.快速排序

D.SHELL排序

4.已知数据表A中每个元素距其最终位置不远,则采用()排序算法最节省时间。

A.堆排序

B.插入排序

C.快速排序

D.直接选择排序5.串是()。

A.不少于一个字母的序列

B. 任意个字母的序列

C.不少于一个字符的序列

D.有限个字符的序列

二.判断题(1分/题)

1.(√)若一个栈的输入序列为123…n,其输出序列的第一个元素为n,则其输出序列的每个元素a i一定满足a i =n-i+1。(i=1,2,...,n)

2.(⨯)二叉树中的叶子结点就是二叉树中没有左右子树的结点。

3.(⨯)一棵树中的叶子结点数一定等于与其对应的二叉树中的叶子结点数。

4.(⨯)删除二叉排序树中的一个结点,再重新插入上去,一定能得到原来的二叉排序树。

5.(⨯)线性表就是顺序表。

6.(√)若一棵树中某结点的度为1,则该结点仅有一棵子树。

7.(⨯)所谓平衡二叉树是指左右子树的高度差的绝对值不大于1的二叉树。

8.(⨯)AOE网所表示的工程至少所需的时间等于从源点到汇点的最短路径的长度。

9.(√)若某二叉树的叶子结点数为1,则其先序序列和后序序列一定相反。

10.(⨯)在采用线性探测法处理冲突的散列表中,所有的同义词在表中相邻。

11.(√)对B-树中任一非叶子结点中的某关键字K,比K小的最大关键字和比K大的最小关键字一定都在非叶结点的最下层。

12.(√)若一个连通无向图的以顶点1为起点的深度遍历序列唯一,则可唯一确定该图。

13.(⨯)若一个有向图的以顶点1为起点的深度遍历序列唯一,则可唯一确定该图。

14.(⨯)在数据表基本有序时,冒泡排序算法的时间复杂度一定接近O(n)。

15.(⨯)设指针p指向单链表中的一个结点,则语句序列u:=p^.next; u:=u^.next将删除一个结点。

三.填空题(2分/题)

1.已知二叉树中叶子数为50,仅有一个孩子的结点数为30,则总结点数是(129)。

2.已知栈的输入序列为1,2,3,...,n,输出序列为a1, a2, a3,..., a n,符合

a2=n的输出序列共有(n-1)种。

3.已知数组A[1..10,1..10]为对称矩阵,其中每个元素占5个单元。现将其下三角部分按行优先次序存储在起始地址为1000的连续内存单元中,则元素A[5,6]对应的地址为(1095)。

4.在顺序存储的二叉树中,编号为i和j的两个结点处在同一层的条件是(⎣log2i⎦=⎣log2j⎦)。

5.在按关键字递增的数组A[1..20]中,按折半查找方法进行查找时,查找长度为5的元素个数是(5)。

四.应用题(5分/题)

1.一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来,试求出空格处的内容,并画出该二叉树。

先序序列: B F ICEH G;

中序序列:D KFIA EJC ;

后序序列: K FBHJ G A

先序序列:ABDFKICEHJG;

中序序列:DBKFIAHEJCG;

后序序列:DKIFBHJEGCA A B C D F E G K I H J

2.已知哈希表地址空间为0..14,哈希函数为H(k)=k mod 13,采用线性探测法处理冲突。将下面各数依次存入该散列表中,并求出在等概率下的平均查找长度和失败的查找长度。

240,29,345,189,100,20,21,35,3,208,78,99,45,350

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

208 78 350 29 3 240 345 189 100 20 21 35 99 45

0 0 12 3 3 6 7 7 9 7 8 9 8 6

ASL s =43/14 ASL f =105/13

3.对下面的递归算法,写出调用p(4)的执行结果。

PROC p(w:integer);

if w>0 then

[ write(w);

p(w-1);

p(w-1)

]

ENDP; {p}

4 3 2 1 1 2 1 1 3 2 1 1 2 1 1

4.一棵排序二叉树结构如下,各结点的值从小到大依次为1~8,请标出各结点的值。

6 1 8 5

7 3

2 4

5.求出下图中顶点1到其余各顶点的最短路径。

五. 算法设计题(10分/题)

1.已知T 为一棵二叉排序树。

(1) 设计算法按递减次序打印各结点的值。

(2) 设计算法以产生一个序列,要求该序列满足:依次将这些元

素插入到初值为空的二叉排序树中所得的结果与原二叉排序树相同。

算法思想:(1)按“右根左”遍历

(2)先序遍历

2.已知一棵二叉树按顺序方式存储在数组A[1..n]中,设计算法求出下标分别为i 和j 的两个结点的最近公共祖先结点。

算法思想:沿i 、j 分别上溯查找公共结点。

3.已知数组A[1..n]的元素类型为整型,设计算法将其调整为左右两部分,使得左边所有元素为奇数,右边所有元素为偶数,并要求算法的时间复杂度为O(n)。

算法思想:利用快速排序的思想。

4.设计算法判断有向图G 是否是一棵以v 为根的有向树。 可以使用以下几个函数调用:

firstadj(G,v)—返回图G 中顶点v 的第一个邻接点,若不存在返回0 nextadj(G,v,w)—返回图G 中顶点v 的邻接点中处于w 之后的邻接点,若不存在返回0

nodes(G)—返回图G 中的顶点数

算法思想:从v 出发深度优先搜索,若可遍历到图中所有顶点且遍历过的顶点不会再次访问则是;否则不是。

数据结构练习题第三章栈、队列和数组习题与答案

第三章栈、队列和数组 一、名词解释: 1.栈、栈顶、栈底、栈顶元素、空栈 2.顺序栈 3.链栈 4.递归 5.队列、队尾、队头 6.顺序队 7.循环队 8.队满 9.链队10.随机存储结构11.特殊矩阵12.稀疏矩阵13.对称方阵14.上(下)三角矩阵 二、填空题: 1.栈修改的原则是_________或称________,因此,栈又称为________线性表。在栈顶 进行插入运算,被称为________或________,在栈顶进行删除运算,被称为________ 或________。 2.栈的基本运算至少应包括________、________、________、________、________五 种。 3.对于顺序栈,若栈顶下标值top=0,此时,如果作退栈运算,则产生“________”。 4.对于顺序栈而言,在栈满状态下,如果此时在作进栈运算,则会发生“________”。 5.一般地,栈和线性表类似有两种实现方法,即________实现和________实现。 6.top=0表示________,此时作退栈运算,则产生“________”; top=sqstack_maxsize-1表示________,此时作进栈运算,则产生“________”。 7.以下运算实现在顺序栈上的初始化,请在________处用适当的句子予以填充。 int InitStack(SqStackTp *sq) { ________; return(1);} 8.以下运算实现在顺序栈上的进栈,请在________处用适当的语句予以填充。 Int Push(SqStackTp *sq,DataType x) { if(sp->top==sqstack_maxsize-1}{error(“栈满”);return(0);} else{________________: ________________=x; return(1);} } 9.以下运算实现在顺序栈上的退栈,请在________________用适当句子予以填充。 Int Pop(SqStackTp *sq,DataType *x) {if(sp->top==0){error(“下溢”);return(0);} else{*x=________________; ________________; return(1);} } 10. 以下运算实现在顺序栈上判栈空,请在________________处用适当句子予以填充。 Int EmptyStack(SqStackTp *sq) {if(________________) return(1); else return(0); } 11.以下运算实现在顺序栈上取栈顶元素,请在________________处用适当句子予以填充。 Int GetTop(SqStackTp *sq,DataType *x)

数据结构第3阶段测试题

第三阶段测试卷 考试科目:《数据结构》第五章至第七章(总分100分)时间:90分钟______________学习中心(教学点)批次:层次: 专业:学号:身份证号: 姓名:得分: 一、选择题(每题3分,共30分) 1、m阶B树中的一个分支结点最多含(C)个关键字。 A、m-1B、mC、m+1D、[m/2]-1E、[m/2]F、[m/2]+1 2、设有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表,至少要进行(B)次探测。 A、k-1B、kC、k+1D、k(k-1)/2 3、设表中含100个数据元素,用折半查找法进行查找,则所需最大比较次数为(A)。 A、50B、25C、10D、7 4、设哈希表地址范围为0~19,哈希函数H(key)=key%17,使用二次探测再散列法处理冲突。若表中已存放有关键字值为6、22、38、55的记录,则再放入关键字值为72的记录时,其存放地址应为(D)。 A、2B、3C、4D、7E、8F、以上都不对 5、直接插入排序在最好情况下的时间复杂度为(D)。 A、O(logn)B、O(n)C、O(n*logn)D、O(n2) 6、将两个各有n个元素的有序表归并成一个有序表,最少进行(E)次比较。 A、nB、2n-1C、2nD、n-1 7、设有一组关键字值(46,79,56,38,40,84),则用快速排序的方法,以第一个记录为基准得到的一次划分结果为(D)。 A、38,40,46,56,79,84B、40,38,46,79,56,84 C、40,38,46,56,79,84D、40,38,46,84,56,79 8、外部排序是指(B)。 A、在外存上进行的排序方法 B、不需要使用内存的排序方法 C、数据量很大,需要人工干预的排序方法 D、排序前后数据在外存,排序时数据调入内存的排序方法 9、下述文件中适合于磁带存储的是(C)。

数据结构考试试题及答案

数据结构考试试题及答案 数据结构考试试题及答案 数据结构是计算机科学中非常重要的一门课程,它涉及到了计算机程序设计中的数据组织、存储和管理等方面。在学习数据结构的过程中,掌握基本的数据结构类型、操作和算法是非常重要的。为了帮助大家更好地掌握数据结构,下面将提供一些常见的数据结构考试试题及答案。 一、选择题 1. 下面哪个不是线性数据结构? A. 数组 B. 链表 C. 栈 D. 队列 答案:D. 队列 2. 下面哪个数据结构可以实现先进先出(FIFO)的操作? A. 栈 B. 队列 C. 链表 D. 树 答案:B. 队列 3. 下面哪个数据结构可以实现后进先出(LIFO)的操作? A. 栈 B. 队列

C. 链表 D. 树 答案:A. 栈 4. 下面哪个数据结构可以实现快速查找和插入操作? A. 数组 B. 链表 C. 栈 D. 队列 答案:A. 数组 5. 下面哪个数据结构可以实现快速查找和删除操作? A. 数组 B. 链表 C. 栈 D. 队列 答案:B. 链表 二、填空题 1. 请写出数组的插入操作的时间复杂度。 答案:O(n) 2. 请写出链表的删除操作的时间复杂度。 答案:O(1) 3. 请写出栈的出栈操作的时间复杂度。 答案:O(1)

4. 请写出队列的入队操作的时间复杂度。 答案:O(1) 5. 请写出二叉搜索树的查找操作的时间复杂度。 答案:O(log n) 三、简答题 1. 什么是数据结构? 答案:数据结构是计算机存储、组织数据的方式,它定义了数据的逻辑结构和存储结构,以及对数据进行操作的算法。 2. 请解释什么是时间复杂度和空间复杂度。 答案:时间复杂度是衡量算法执行时间的度量,它表示算法执行所需的时间与问题规模之间的关系。空间复杂度是衡量算法所需的存储空间的度量,它表示算法所需的存储空间与问题规模之间的关系。 3. 请解释什么是递归算法,并给出一个例子。 答案:递归算法是一种自己调用自己的算法。一个经典的例子是计算斐波那契数列的第n项。代码如下: ``` int fibonacci(int n) { if (n <= 1) { return n; } return fibonacci(n-1) + fibonacci(n-2); }

数据结构第三单元练习题的参考答案

《数据结构》第3教学单元练习题答案 一、选择题 1.设无向图的顶点个数为n,则该图最多有()条边。 A.n-1 B.n(n-1)/2 C.n(n+1)/2 D.0 2.在一个无向图中,所有顶点的度数之和等于所有边数( B )倍,在一个有向图中,所有顶点的入度之和等于所有顶点出度之和的( C )倍。 A.1/2 B.2 C.1 D.4 3.若一个具有n个顶点,k条边的无向图是一个森林(n>k),则该森林中必有()棵树。 A.k B.n C. n-k D.(D)1 4.下列哪一种图的邻接矩阵是对称矩阵?() A.有向图 B.无向图 C.AOV网 D.AOE网 5.一个有向图邻接表和逆邻接表中结点的个数( A )。 A.一样多 B.邻接表中结点比逆邻接表中结点多 C.逆邻接表中结点比邻接表结点多 D.不确定 6.在图的邻接表存储结构上执行广度优先搜索遍历类似于二叉树上的() A.先根遍历 B.中根遍历 C.后根遍历 D.按层次遍历 7.下列说法不正确的是()。 A.图的遍历是从给定的源点出发每一个顶点仅被访问一次 B.遍历的基本算法有两种:深度遍历和广度遍历 C.图的深度遍历不适用于有向图 D.图的深度遍历是一个递归过程 8.在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为( )。 A.O(n) B.O(n+e) C.O(n2) D.O(n3) 9.AOV网是一种()。 A.有向图 B.无向图 C.无向无环图 D.有向无环图 10.一个有向无环图的拓扑排序序列()是唯一的。 A.一定 B.不一定 11.有拓扑排序的图一定是()。 A.有环图 B.无向图 C.强连通图 D.有向无环图 12.在用邻接表表示图时,拓扑排序算法时间复杂度为( )。 A.O(n) B.O(n+e) C.O(n*n) D.O(n*n*n) 13.下列关于AOE网的叙述中,不正确的是()。 A.关键活动不按期完成就会影响整个工程的完成时间 B.任何一个关键活动提前完成,那么整个工程将会提前完成 C.所有的关键活动提前完成,那么整个工程将会提前完成 D.某些关键活动提前完成,那么整个工程将会提前完成 14.最短路径的生成算法可用()。 A.普里姆算法 B.克鲁斯卡尔算法 C.迪杰斯特拉算法 D.哈夫曼算法 15.若一个具有n个顶点,k条边的无向图是一个森林(n>k),则该森林中必有()棵树。 A. k B.n C.n-k D.1 二、判断题 1.在n个结点的无向图中,若边数大于n-1,则该图必是连通图。× 2.强连通分量是无向图的极大强连通子图。×

数据结构 测试题3

测试三 一.单项选择题(2分/题) 1.一棵左右子树均不空的二叉树在先序前驱和后序后继线索化后,其空链域数为()。 A.0 B.1 C.2 D.不确定 2.设图G采用邻接表存储,则拓扑排序算法的时间复杂度是()。 A.O(n) B.O(n+e) C.O(n2) D.O(n*e) 3.下列排序算法中,时间复杂度为O(nlog2n)且占用额外空间最少的是()。 A.堆排序 B.冒泡排序 C.快速排序 D.SHELL排序 4.已知数据表A中每个元素距其最终位置不远,则采用()排序算法最节省时间。 A.堆排序 B.插入排序 C.快速排序 D.直接选择排序5.串是()。 A.不少于一个字母的序列 B. 任意个字母的序列 C.不少于一个字符的序列 D.有限个字符的序列 二.判断题(1分/题) 1.(√)若一个栈的输入序列为123…n,其输出序列的第一个元素为n,则其输出序列的每个元素a i一定满足a i =n-i+1。(i=1,2,...,n) 2.(⨯)二叉树中的叶子结点就是二叉树中没有左右子树的结点。 3.(⨯)一棵树中的叶子结点数一定等于与其对应的二叉树中的叶子结点数。 4.(⨯)删除二叉排序树中的一个结点,再重新插入上去,一定能得到原来的二叉排序树。 5.(⨯)线性表就是顺序表。 6.(√)若一棵树中某结点的度为1,则该结点仅有一棵子树。 7.(⨯)所谓平衡二叉树是指左右子树的高度差的绝对值不大于1的二叉树。 8.(⨯)AOE网所表示的工程至少所需的时间等于从源点到汇点的最短路径的长度。 9.(√)若某二叉树的叶子结点数为1,则其先序序列和后序序列一定相反。

10.(⨯)在采用线性探测法处理冲突的散列表中,所有的同义词在表中相邻。 11.(√)对B-树中任一非叶子结点中的某关键字K,比K小的最大关键字和比K大的最小关键字一定都在非叶结点的最下层。 12.(√)若一个连通无向图的以顶点1为起点的深度遍历序列唯一,则可唯一确定该图。 13.(⨯)若一个有向图的以顶点1为起点的深度遍历序列唯一,则可唯一确定该图。 14.(⨯)在数据表基本有序时,冒泡排序算法的时间复杂度一定接近O(n)。 15.(⨯)设指针p指向单链表中的一个结点,则语句序列u:=p^.next; u:=u^.next将删除一个结点。 三.填空题(2分/题) 1.已知二叉树中叶子数为50,仅有一个孩子的结点数为30,则总结点数是(129)。 2.已知栈的输入序列为1,2,3,...,n,输出序列为a1, a2, a3,..., a n,符合 a2=n的输出序列共有(n-1)种。 3.已知数组A[1..10,1..10]为对称矩阵,其中每个元素占5个单元。现将其下三角部分按行优先次序存储在起始地址为1000的连续内存单元中,则元素A[5,6]对应的地址为(1095)。 4.在顺序存储的二叉树中,编号为i和j的两个结点处在同一层的条件是(⎣log2i⎦=⎣log2j⎦)。 5.在按关键字递增的数组A[1..20]中,按折半查找方法进行查找时,查找长度为5的元素个数是(5)。 四.应用题(5分/题) 1.一棵二叉树的先序、中序和后序序列分别如下,其中有一部分未显示出来,试求出空格处的内容,并画出该二叉树。 先序序列: B F ICEH G; 中序序列:D KFIA EJC ; 后序序列: K FBHJ G A 先序序列:ABDFKICEHJG; 中序序列:DBKFIAHEJCG;

《数据结构与算法》期末练习题3

数据结构与算法 一选择题 1.算法的计算量的大小称为计算的()。 A.效率 B. 复杂性 C. 现实性 D. 难度 2.下面说法错误的是() (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 3. 连续存储设计时,存储单元的地址()。 A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续 4. 下述哪一条是顺序存储结构的优点?() A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示 5.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。 A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表 6.下面的叙述不正确的是() A.线性表在链式存储时,查找第i个元素的时间同i的值成正比 B. 线性表在链式存储时,查找第i个元素的时间同i的值无关 C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比 D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关 7.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1<=i<=n+1)。 A. O(0) B. O(1) C. O(n) D. O(n2) 8.双向链表中有两个指针域,llink和rlink,分别指回前驱及后继,设p指向链表中的一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插入为()(^.相当于—>) A. p^.llink:=q; q^.rlink:=p; p^.llink^.rlink:=q; q^.llink:=p^.llink; B. q^.llink:=p^.llink; p^.llink^.rlink:=q; q^.rlink:=p; p^.llink:=q^.rlink; C. q^.rlink:=p; p^.rlink:=q; p^.llink^.rlink:=q; q^.rlink:=p; D. p^.llink^.rlink:=q; q^.rlink:=p; q^.llink:=p^.llink; p^.llink:=q; 9.下列排序算法中,其中()是稳定的。 A) 堆排序,冒泡排序B) 快速排序,堆排序 C) 直接选择排序,希尔排序D) 归并排序,冒泡排序 10.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为 (1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47 (4)15 21 25 47 84 则采用的排序是( )。 A) 选择B) 冒泡C) 快速D) 插入 11.双向链表中有两个指针域,llink和rlink分别指向前趋及后继,设p指向链表中的一个结点,现要求删去p 所指结点,则正确的删除是()(链中结点数大于2,p不是第一个结点) A.p^.llink^.rlink:=p^.llink; p^.llink^.rlink:=p^.rlink; dispose(p); B.dispose(p); p^.llink^.rlink:=p^.llink; p^.llink^,rlink:=p^.rlink; C.p^.llink^.rlink:=p^.llink; dispose(p); p^.llink^.rlink:=p^.rlink; D.以上A,B,C都不对。 12.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是() A)CABDEFG B) BCDAEFG C) DACEFBG D) ADBCFEG 13. 设一个栈的输入序列是1,2,3,4,5,则下列序列中,是栈的合法输出序列的是()。 A) 5 1 2 3 4 B) 4 5 1 3 2 C) 4 3 1 2 5 D) 3 2 1 5 4 14. 若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是()。

《数据结构》3套模拟试题综合测试题带答案5

《数据结构》模拟试题13 一、填空题(每小题2分,共18分) 1、数据的逻辑结构包括,和三种结构。 2、队列是操作受限的线性结构,只能在插入元素,而在删除元素。 3、串是一种特殊的线性表,其特殊性体现在。 4、有一个10阶对称矩阵A,采用压缩存储方式采用压缩存储方式,以行为主存储下三角形 到一个一维数组中,A[0][0]的地址是100(每个元素占2个基本存储单元),则A[5][9]的地址是。 5、在高度为h的二叉树的中只有度为0和度为2的结点,则该类二叉树中所包含的结点数 至少为。 6、对于一个有n个顶点和e条边的无向图,若采用邻接链表存储,则表头向量的大小为 ,邻接表中的结点总数为。 7、对线性表进行二分查找时,要求线性表必须是,且要 求。 8、对于文件,按物理结构划分,可分为顺序文件、文件、 文件和多关键字文件。 9、外部排序的最基本方法是,其主要时间花费在方面。 二、单项选择题(请将答案写在题目后的括号中。每题2分,共18分) 1、如下函数是求1!+2!+…+n!,其时间复杂度是()。 Long int Sum (int n) { long int sum=0 , t=1 ; int p ; for (p=1; p<=n ;p++) { t=t*p ; sum+=t ; } return(sum) ; } (A)O(n) (B)O(n2) (C)O(㏒2n) (D)O(n㏒2n) 2、设有一个栈顶指针为top的顺序栈S,则弹出S的栈定元素的操作是()。 (A)p=S[top++];(B)p=S[++top]; (C)p=S[top--];(D)p=S[--top];

数据结构与算法练习试卷3

数据结构与算法练习试卷3 (总分:56.00,做题时间:90分钟) 一、选择题(总题数:27,分数:56.00) 1.选择题()下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。 __________________________________________________________________________________________ 解析: 2.以下关于顺序存储结构的叙述中,哪一条是不正确的?______。 (分数:2.00) A.存储密度大 B.逻辑上相邻的节点物理上不必邻接√ C.可以通过计算直接确定第i个节点的存储地址 D.插入、删除运算操作不方便 解析: 3.单键表的每个节点中包括一个指针link,它指向该节点的后继节点。现要将指针q指向的新节点插入到指针p指向的单链表节点之后,下面的操作序列中哪一个是正确的?______。 (分数:2.00) A.q:=p^.link;p^.link:=q^.link; B.p^.link:=q^.link;q:=p^.link; C.q^.link:=p^.link;p^.link:=q;√ D.p^.link:=q;q^.link:=p^.link; 解析: 4.设有下三角矩阵A[0..10,0..10],按行优先顺序存放其非零元素,每个非零元素占两个字节,存放的基地址为100,则元素A[5,5]的存放地址为______。 (分数:2.00) A.110 B.120 C.130 D.140 √ 解析: 5.栈S最多能容纳4个元素。现有6个元素按A、B、C、D、E、F的顺序进栈,下列哪一个序列不是可能的出栈序列? ______。 (分数:2.00) A.A、D、E、C、B、F B.A、F、E、D、C、B √ C.C、B、E、D、A、F D.C、D、B、F、E、A 解析: 6.霍夫曼算法可以用于______。 (分数:2.00) A.动态存储管理 B.表达式求值 C.数据通信的二进制编码√ D.城市间的交通网设计 解析:

北邮C++数据结构课后习题 习题3参考答案

习题3 1.填空题(部分答案) (1)栈的进出原则是(___________),队列的进出原则是(___________)。 答案:后进先出(LIFO)先进先出(FIFO) (2)设32位计算机系统中,空栈S存储int型数据,栈顶指针为1024H。经过操作序列push(1),push(2),pop,push(5),push(7),pop,push(6)之后,栈顶元素为(___________),栈底元素为(___________),栈的高度为(___________),输出序列是(___________),栈顶指针为(___________)H。 答案:6 1 3 2,7 1030 (3)两栈共享存储空间,其数组大小为100,数组下标从0开始。top1和top2分别为栈1和栈2的栈顶元素下标,则栈1为空的条件为(___________),栈2为空的条件为(___________),栈1或栈2满的条件为(___________)。 答案:top1==-1 top2==100 top1+1==top2 (4)一个队列的入队顺序是1234,则队列的输出顺序是(___________)。 答案:1234 (5)设循环队列数组大小为100,队头指针为front,队尾指针为rear;约定front指向队头元素的前一个位置,该位置永远不存放数据。则入队操作时,修改rear=(___________),出队操作修改front=(___________),队空的判别条件为(___________),队满的判别条件为(___________)。若front=20,rear=60,则队列长度为(___________),若front=60,rear=20,则队列长度为(___________)。 答案:(rear+1)%100 (front+1)%100 rear==front (rear+1)%100=front 40 60 (6)朴素模式匹配算法中,每个串的起始下标均为1,变量i=100,j=10,分别表示主串和模式串当前比较的字符元素下标,若本次比较两字符不同,则i回溯为(___________),j 回溯为(___________)。 答案:92 1 (7)用循环链表表示的队列长度为n,若只设头指针,则出队和入队的时间复杂度分别为(___________)和(___________)。 答案:O(1) O(n) (8)一般来说,数组不执行(___________)和(___________)操作,所以通常采用(___________)方法来存储数组。通常有两种存储方式:(___________)和(___________)。答案:删除插入顺序存储行优先存储列优先存储 (9)设8行8列的二维数组起始元素为A[0][0],按行优先存储到起始元素下标为0的一维数组B中,则元素B[23]在原二维数组中为(___________)。若该二维数组为上三角矩阵,按行优先压缩存储上三角元素到起始元素下标为0的一维数组C中,则元素C[23]即为原矩阵中的(___________)元素。 答案:A[2][7] A[3][5] (10)设二维数组A为6行8列,按行优先存储,每个元素占6字节,存储器按字节编址。已知A的起始存储地址为1000H,数组A占用的存储空间大小为(___________)字节,数组A的最后一个元素的下标为(___________),该元素的第一个字节地址为(___________)

《数据结构》模拟试题综合测试题带答案 (3)

《数据结构》模拟试题03 一、单项选择题(每题 2 分,共30分) 1.算法指的是( ) A .计算机程序 B .解决问题的计算方法 C .排序算法 D .解决问题的有限运算序列 2.线性表采用链式存储时,结点的存储地址( ) A .必须是不连续的 B .连续与否均可 C .必须是连续的 D .和头结点的存储地址相连续 3.将长度为n 的单链表链接在长度为m 的单链表之后的算法的时间复杂度为( ) A .O (1) B .O (n ) C .O (m ) D .O (m+n ) 4.由两个栈共享一个向量空间的好处是:( ) A .减少存取时间,降低下溢发生的机率 B .节省存储空间,降低上溢发生的机率 C .减少存取时间,降低上溢发生的机率 D .节省存储空间,降低下溢发生的机率 5.设数组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 6.如下陈述中正确的是( ) A .串是一种特殊的线性表 B .串的长度必须大于零 C .串中元素只能是字母 D .空串就是空白串 7.若目标串的长度为n ,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况下的时间复杂度是( ) A .O (n 3) B .O (n ) C .O (n2) D .O (n3) 8.一个非空广义表的表头( ) A .不可能是子表 B .只能是子表 C .只能是原子 D .可以是子表或原子 9.假设以带行表的三元组表表示稀疏矩阵,则和下列行表 对应的稀疏矩阵是( ) 5

《数据结构》3套模拟试题综合测试题带答案4

《数据结构》模拟试题10 一、单项选择题(每题 3 分,共30分) 1.设某无向图有n个顶点,则该无向图的邻接表中有()个表头结点。 (A) 2n (B) n (C) n/2 (D) n(n-1) 2.设无向图G中有n个顶点,则该无向图的最小生成树上有()条边。 (A) n (B) n-1 (C) 2n (D) 2n-1 3.设一组初始记录关键字序列为(60,80,55,40,42,85),则以第一个关键字45为基准而得到的一趟快速排序结果是()。 (A) 40,42,60,55,80,85 (B) 42,45,55,60,85,80 (C) 42,40,55,60,80,85 (D) 42,40,60,85,55,80 4.()二叉排序树可以得到一个从小到大的有序序列。 (A) 先序遍历(B) 中序遍历 (C) 后序遍历 (D) 层次遍历 5.设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为()。 (A) 2i+1 (B) 2i (C) i/2 (D) 2i-1 6.程序段s=i=0;do {i=i+1;s=s+i;}while(i<=n);的时间复杂度为()。 (A) O(n) (B) O(nlog2n) (C) O(n2) (D) O(n3/2) 7.设带有头结点的单向循环链表的头指针变量为head,则其判空条件是()。 (A) head==0 (B) head->next==0 (C) head->next==head (D) head!=0 8.设某棵二叉树的高度为10,则该二叉树上叶子结点最多有()。 (A) 20 (B) 256 (C) 512 (D) 1024 9.设一组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则利用二分法查找关键字90需要比较的关键字个数为()。 (A) 1 (B) 2 (C) 3 (D) 4 10.设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为()。 (A) top=top+1; (B) top=top-1; (C) top->next=top; (D) top=top->next; 二、填空题(每题2分,共20分)

数据结构第三章考试题库(含答案)

第3章栈和队列 一选择题 1. 对于栈操作数据的原则是()。【青岛大学2001 五、2(2分)】 A. 先进先出 B. 后进先出 C. 后进后出 D. 不分顺序 2. 在作进栈运算时,应先判别栈是否( ①),在作退栈运算时应先判别栈是否( ②)。当栈中元素为n个,作进栈运算时发生上溢,则说明该栈的最大容量为( ③)。 为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的( ④)分别设在这片内存空间的两端,这样,当( ⑤)时,才产生上溢。 ①, ②: A. 空 B. 满 C. 上溢 D. 下溢 ③: A. n-1 B. n C. n+1 D. n/2 ④: A. 长度 B. 深度 C. 栈顶 D. 栈底 ⑤: A. 两个栈的栈顶同时到达栈空间的中心点. B. 其中一个栈的栈顶到达栈空间的中心点. C. 两个栈的栈顶在栈空间的某一位置相遇. D. 两个栈均不空,且一个栈的栈顶到达另一个栈的栈底. 【上海海运学院1997 二、1(5分)】【上海海运学院1999 二、1(5分)】3. 一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。 A. 不确定 B. n-i+1 C. i D. n-i 【中山大学1999 一、9(1分)】 4. 若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是()。 A. i-j-1 B. i-j C. j-i+1 D. 不确定的 【武汉大学2000 二、3】 5. 若已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p1,p2,p3,…,p N,若p N是n,则p i是( )。 A. i B. n-i C. n-i+1 D. 不确定 【南京理工大学2001 一、1(1.5分)】 6. 有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出栈序列?() A. 5 4 3 6 1 2 B. 4 5 3 1 2 6 C. 3 4 6 5 2 1 D. 2 3 4 1 5 6 【北方交通大学2001 一、3(2分)】 7. 设栈的输入序列是1,2,3,4,则()不可能是其出栈序列。【中科院计算所2000 一、10(2分)】

2021年小学信息技术教师数据结构练习题及参考答案(三)

2021年小学信息技术教师专业技能数据结构练习题及参考答案(三) 1.每个结点只存储一个数据元素,存储结点存放在连续的存储空间,该存储方式是( A )存储方式。 A.顺序 B. 链式 C. 索引 D. 散列 2.对于顺序表的优缺点,下面说法错误的是( C )。 A.无需为表示节点间的逻辑关系而增加额外的存储空间。 B.可以方便的随机存取表中的任一结点。 C.删除和插入运算较方便。 D.由于顺序表要求占用连续的空间,存储分配只能预先进行(静态分配)。 3.下面( B )的时间复杂性最好,即执行时间最短。 A.O(n) B.O(log2n) C.O(nlog2n) D.O(n2) 4.在带头结点的单链表h中,若要向表头插入一个由指针p所指向的结点,则执行( D )。 A. h=p, p->next=h B. p->next=h, h=p C. p->next=h, p=h D. p->next=h->next, h->next=p 5.与线性表的链接存储相符的特性是( A )。 A.插入和删除操作灵活 B.可随机访 C.存储空间静态分配 D.不需另外开辟空间来保存元素间的关系 6.用某种排序方法对序列(25,84,21,47,15,27,68,35,20)进行排序,记录序列的变化情况如下: 25 84 21 47 15 27 68 35 20 20 15 21 25 47

27 68 35 84 15 20 21 25 35 27 47 68 84 15 20 21 25 27 35 47 68 84 则采用的排序方法是( C )。 A.直接选择排序 B. 冒泡排序 C. 快速排序 D. 二路归并排序 7.下列关于线性表的叙述中,不正确的是( C )。 A.线性表是n个结点的有穷序列 B.线性表可以为空表 C.线性表的每一个结点有且仅有一个前趋和一个后继 D.线性表结点间的逻辑关系是1:1的联系 8.将长度为m的单链表链接在长度为n的单链表之后的算法的时间复杂度为( B )。 A.O(1) B.O(n) C.O(m) D.O(m+n) 9.下列说法不正确的是( D )。 A.数据元素是数据的基本单位 B.数据项是数据中不可分割的最小标识单位 C.数据可以由若干个数据元素构成 D.数据项可以由若干个数据元素构成 10.与单链表相比,双向链表的优点之一是( D )。 A.插入、删除操作更简单 B. 可以进行随机访问 C.可以省略头结点指针 D. 顺序访问相邻结点更灵活 11.当初始序列已经按关键字值有序,用直接插入算法对其进行排序,需要比较的次数为 ( D )。 A.n2 B.nlog2n C.log2n D.n-1 12.ISAM是( B )文件的组织形式。

数据结构1-3章相关测试题(含答案)

数据结构1-3章相关测试题(含答案) 《数据结构》第1教学单元测试练习题 选择(60分) 1、以下说法正确的是() A、数据元素是数据的最小单位 B、数据项是数据的基本单位 C、数据结构是带有结构的各数据项的集合 D、数据结构是带有结构的数据元素的集合 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、以下说法错误的是() A、求表长、定位这二种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低 B、顺序存储的线性表可以随机存取 C、由于顺序存储要求连续约存储区域所以在存储管理上不够灵活 D、线性表的链式存储结构优于顺序存储结构 8、以下说法错误的是() A、线性表的元素可以是各种各样的,逻辑上相邻的元素在物理位置上不一定相邻 B、在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上不一定相邻 C、在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻 D、线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素 9、以下说法正确的是() A、在单链表中,任何两个元素的存储位置之间都有固定的联系,因为可以从头结点进行查找任何一个元素 B、在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取 的存储结构

数据结构考试题3

要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号。每张答题纸都要写上姓名和学号。 一、单项选择题(每小题2分,共计40分) 1. 数据结构是指。 A. 一种数据类型 B. 数据的存储结构 C. 一组性质相同的数据元素的集合 D. 相互之间存在一种或多种特定关系的数据元素的集合 2. 以下算法的时间复杂度为。 void fun(int n) { int i=1; while (i<=n) i++; } A. O(n) B. O(n) C. O(n log2n) D. O(log2n) 3. 现要设计一个高效的算法,在一个长度为n的有序顺序表中删除所有元素值为x的元素(假设这样的元素是不唯一的),这样的算法时间复杂度为。 A. O(n) B. O(n log2n) C. O(n2) D. O(n) 4. 在一个带头结点的循环双链表L中,要删除p所指结点,算法的时间复杂度为。 A. O(n) B. O(n) C. O(1) D. O(n2) 5. 若一个栈采用数组s[0..n-1]存放其元素,初始时栈顶指针top为n,则以下元素x 进栈的正确操作是。 A.top++;s[top]=x; B.s[top]=x;top++; C.top--;s[top]=x; D.s[top]=x;top--; 6.中缀表达式“2*(3+4)-1”的后缀表达式是,其中#表示一个数值的结束。 A. 2#3#4#1#*+- B. 2#3#4#+*1#- C. 2#3#4#*+1#- D. -+*2#3#4#1# 7. 设循环队列中数组的下标为0~N-1,其队头、队尾指针分别为front和rear(front 指向队列中队头元素的前一个位置,rear指向队尾元素的位置),则其元素个数为。 A. rear-front B. rear-front-1 C. (rear-front)%N+1 D. (rear-front+N)%N 8. 若用一个大小为6的数组来实现循环队列,队头指针front指向队列中队头元素的前一个位置,队尾指针rear指向队尾元素的位置。若当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为。 A. 1和5 B. 2和4

数据结构练习3答案

数据结构练习〔三〕参考 一、选择题 1.顺序查找法适合于存储结构为的线性表 A〕哈希存储B〕顺序存储或链式存储 C〕压缩存储D〕索引存储 2.一个长度为100的已排好序的表,用二分查找法进行查找,假设查找不成功,至少比拟________次。 A〕9 B〕8 C〕7 D〕6 3.采用顺序查找方法查找长度为n的线性表时,平均比拟次数为。A〕n B〕n/2 C〕〔n+1〕/2 D〕〔n-1〕/2 4.对线性表进行折半查找时,要求线性表必须。 A〕以顺序方式存储B〕以顺序方式存储,且结点按关键字有序排列 C〕以链表方式存储D〕以链表方式存储,且结点按关键字有序排列 5.采用二分查找法查找长度为n的线性表时,每个元素的平均查找长度为。 A〕O〔n2〕B〕O〔nlog2n〕C〕O〔n〕D〕O〔log2n〕6.有一个长度为12的有序表R[0…11],按折半查找法对该表进行查找,在表内各元素等概率查找情况下查找成功所需的平均比拟次数为。 A〕35/12 B〕37/12 C〕39/12 D〕43/12 7.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,99},当采用折半查找法查找关键字为82的元素时,次比拟后查找成功。A〕1 B.2 C〕4 D〕8 8.当采用分块查找时,数据的组织方式为。 A〕数据分成假设干块,每块内存数据有序 B〕数据分成假设干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块 C〕数据分成假设干块,每块内数据有序,每块内最大〔或最小〕的数据组成索引块 D〕数据分成假设干块,每块〔出最后一块外〕中的数据个数需相同 9.采用分块查找时,假设线性表中共有625个元素,查找每个元素的概率相同,

数据结构考试题[三]

(一) 一、 单选题(每题 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 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5. 5. AOV 网是一种( D )。 A .有向图 B .无向图 C .无向无环图 D .有向无环图 6. 6. 采用开放定址法处理散列表的冲突时,其平均查找长度( S )。 A .低于链接法处理冲突 B. 高于链接法处理冲突 C .与链接法处理冲突相同 D .高于二分查找 7. 7. 若需要利用形参直接访问实参时,应将形参变量说明为( D )参数。 A .值 B .函数 C .指针 D .引用 8. 8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的( A )。 A .行号 B .列号 C .元素值 D .非零元素个数 9. 9. 快速排序在最坏情况下的时间复杂度为( D )。 A .O(log 2n) B .O(nlog 2n) C .0(n) D .0(n 2) 10. 10. 从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。 A. O(n) B. O(1) C. O(log 2n) D. O(n 2) 二、 二、 运算题(每题 6 分,共24分) 1. 1. 数据结构是指数据及其相互之间的______________。当结点之间存在M 对N (M :N )的联系时,称这种结构为_____________________。 2. 2. 队列的插入操作是在队列的___尾______进行,删除操作是在队列的 ____首______进行。 3. 3. 当用长度为N 的数组顺序存储一个栈时,假定用top==N 表示栈空, 则表示栈满的条件是___top==0___(要超出才为满)_______________。 4. 4. 对于一个长度为n 的单链存储的线性表,在表头插入元素的时间复杂

相关主题
相关文档
最新文档