2014江苏省JAVA版数据结构最新考试试题库

合集下载

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

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

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)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来记录当前栈中的最小值。

2014数据结构试题及答案

2014数据结构试题及答案
等于
124.【第7章图】在图的邻接表中用顺序存储结构存储表头结点的优点是____________________。
可以随机访问到任一个顶点的简单链表
125.【第8章图的应用】设有向图G中有向边的集合E={<1,2>,<2,3>,<1,4>,<4,2>,<4,3>},则该图的一种拓扑序列为____________________。
105.【第2章线性表】设有一个顺序循环队列中有M个存储单元,则该循环队列中最多能够存储________个队列元素;当前实际存储________________个队列元素(设头指针F指向当前队头元素的前一个位置,尾指针指向当前队尾元素的位置)。
M-1,(R-F+M)%M
106.【第2章线性表】设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中_______个数据元素;删除第i个位置上的数据元素需要移动表中_______个元素。
8,64
119.【第5章树】设二叉树中度数为0的结点数为50,度数为1的结点数为30,则该二叉树中总共有_______个结点数。
129
120.【第5章树】设二叉树中结点的两个指针域分别为lchild和rchild,则判断指针变量p所指向的结点为叶子结点的条件是_____________________________________________。
p->lchild==0&&p->rchild==0
121.【第6章特殊树】设哈夫曼树中共有n个结点,则该哈夫曼树中有________个度数为1的结点。
0
122.【第7章图】设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为_________。

2014江苏省JAVA版数据结构(必备资料)

2014江苏省JAVA版数据结构(必备资料)

1、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。

A) rear=rear->next; B) front=front->next;C) rear=front->next; D) front=rear->next ;2、线索二叉树中某结点D,没有左孩子的条件是( B )。

A)D->Lchild=Null B) D->ltag=1C) D->Rchild=Null D) D->ltag=03、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。

A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;C)p->next=s->next; s->next=p D)p->next=s; s->next=q;4、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。

A)上三角矩阵 B) 稀疏矩阵C) 对角矩阵 D) 对称矩阵5、线性表的链接实现有利于( A )运算。

A)插入 B)读元素C)查找 D)定位6、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。

A)3 B)4 C)5 D)17、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。

A)4 B)5C)6 D)78、n个顶点的图的最小生成树必定( D ),是不正确的描述。

A)不唯一 B)权的总和唯一C)不含回路 D)有n条边9、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。

A)n B)2e C)e D) n+e10、下面程序段的时间复杂度是( A )。

s =0;for( i =0; i<n; i++)for(j=0;j<n;j++)s +=B[i][j];sum = s ;A) O(n2) B) O(n)C) O(m*n) D)O(1)11、已知栈的最大容量为4。

2013-2014第二学期数据结构期末试卷A卷答案

2013-2014第二学期数据结构期末试卷A卷答案

合肥学院20 13 至20 14 学年第 2 学期数据结构与算法设计 课程考试( A )卷答案一、选择题:(2分×15=30分)1.A 2.D 3.B 4.B 5. C 6.D 7. A 8. B 9. D 10. B 11. D 12. D 13. A 14. A 15. A二、填空题:(2分×10=20分)1. n+1-i 2. s->next=p->next; p->next=s3. 12,24,35,27,18,26 4. A[i][j]=1 5. h6. ki<=k2i && ki<=k2i+17. mid=(low+high)/2; r[mid].key>k 8. 中序。

三、应用题:(5分×5=25分)1.树的链式存储结构(3分) 二叉树(2分)2.邻接矩阵:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡011110101110111010101110(3分)邻接表:(2分)3.(3分)(2分)4.(4分)E={(1,3),(1,2),(3,5),(5,6),(6,4)} (1分) 5、(5分)四、算法阅读题:(7分+5分=12分) 1、(1)查询链表的尾结点 (3分) (2)将第一个结点链接到链表的尾部,作为新的尾结点 (3分) (3)返回的线性表为(a2,a3,…,an,a1)。

(1) 2.递归地后序遍历链式存储的二叉树 (5分) 五、算法设计题:(7分+6分=13分) 1.void mergelklist(lklist *ha,lklist *hb,lklist *&hc)AB GC EH JF D Ilklist *s=hc=0; (2分)while(ha!=0 && hb!=0)if(ha->data<hb->data){if(s==0) hc=s=ha; else {s->next=ha; s=ha;};ha=ha->next;} else {if(s==0) hc=s=hb; else {s->next=hb; s=hb;};hb=hb->next;} (3分)if(ha==0) s->next=hb; else s->next=ha; (2分)}2.typedef struct node {int data; struct node *lchild,*rchild;} bitree; (2分)void swapbitree(bitree *bt){bitree *p;if(bt==0) return;swapbitree(bt->lchild); swapbitree(bt->rchild); (2分)p=bt->lchild; bt->lchild=bt->rchild; bt->rchild=p; (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. 在图的表示方法中,邻接表表示法的缺点是________。

2014江苏省JAVA版数据结构最新考试试题库(完整版)

2014江苏省JAVA版数据结构最新考试试题库(完整版)
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
31、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
32、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)
C)空表 D)((a,b),(c,d))
33、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B)只有一部分,存放结点值
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
11、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
8、下列序列中,执行第一趟快速排序后得到的序列是( A )。
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
A)4 B)5
C)6 D)7
25、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)顺序表示法 B)单字符为结点的单链表表示法
必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。

java数据结构测试题及答案解析

java数据结构测试题及答案解析

java数据结构测试题及答案解析java数据结构测试题及答案解析一、概述本文档旨在提供一套完整且详细的java数据结构测试题及答案解析。

通过这些测试题,您可以测试自己对java数据结构的理解程度,并通过答案解析来深入了解相关的概念和技巧。

二、章节2.1 数组题目1:请编写一个方法,将一个给定的数组按照从小到大的顺序进行排序。

题目2:请编写一个方法,查找一个给定的元素在数组中的索引位置。

如果找不到,则返回-1:答案解析:对于题目1,可以使用经典的排序算法(如冒泡排序、插入排序、快速排序等)来实现。

具体实现方法可以参考相关的算法教材。

对于题目2,可以使用线性搜索或者二分搜索来实现。

线性搜索的时间复杂度为O(n),二分搜索的时间复杂度为O(logn)。

具体实现方法可以参考相关的算法教材。

2.2 链表题目1:请编写一个方法,将一个给定的链表按照从小到大的顺序进行排序。

题目2:请编写一个方法,查找一个给定的元素在链表中的索引位置。

如果找不到,则返回-1:答案解析:对于题目1,可以使用经典的排序算法(如冒泡排序、插入排序、快速排序等)来实现。

具体实现方法可以参考相关的算法教材。

对于题目2,可以使用遍历链表的方式来查找。

时间复杂度为O(n)。

具体实现方法可以参考相关的算法教材。

2.3 栈和队列题目1:请编写一个方法,判断一个给定的字符串是否是一个有效的括号序列。

题目2:请编写一个方法,将一个给定的字符串按照逆序输出。

答案解析:对于题目1,可以使用栈来实现。

遍历字符串,如果遇到左括号,则将其入栈;如果遇到右括号,则判断栈是否为空,若为空或者栈顶元素不是与之对应的左括号,则说明括号序列不合法。

时间复杂度为O(n)。

具体实现方法可以参考相关的算法教材。

对于题目2,可以使用栈来实现。

遍历字符串,将每个字符入栈,然后依次出栈输出。

时间复杂度为O(n)。

具体实现方法可以参考相关的算法教材。

2.4 树题目1:请编写一个方法,判断一个给定的二叉树是否是平衡二叉树。

数据结构试卷及参考答案_10

数据结构试卷及参考答案_10

数据结构试卷及参考答案_10第一篇:数据结构试卷及参考答案_10数据结构试卷(十)一、选择题(24分)1.下列程序段的时间复杂度为()。

i=0,s=0; while(s(A)单向链表(B)单向循环链表(C)双向链表(D)双向循环链表3.设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为()。

(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;4.设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为()。

(A)5,3,4,6,1,2(B)3,2,5,6,4,1(C)3,1,2,5,4,6(D)1,5,4,6,2,3 5.设有一个10阶的下三角矩阵A(包括对角线),按照从上到下、从左到右的顺序存储到连续的55个存储单元中,每个数组元素占1个字节的存储空间,则A[5][4]地址与A[0][0]的地址之差为()。

(A)10(B)19(C)28(D)55 6.设一棵m叉树中有N1个度数为1的结点,N2个度数为2的结点,……,Nm个度数为m的结点,则该树中共有()个叶子结点。

(A)∑(i-1)Ni=1mi(B)∑Ni=1mi(C)∑Ni=2mi(D)1+∑(i-1)Ni=2mi7.二叉排序树中左子树上所有结点的值均()根结点的值。

(A)(C)=(D)!= 8.设一组权值集合W=(15,3,14,2,6,9,16,17),要求根据这些权值集合构造一棵哈夫曼树,则这棵哈夫曼树的带权路径长度为()。

(A)129(B)219(C)189(D)229 9.设有n个关键字具有相同的Hash 函数值,则用线性探测法把这n个关键字映射到HASH表中需要做()次线性探测。

2014年江苏省数据结构试题大全理论考试试题及答案

2014年江苏省数据结构试题大全理论考试试题及答案

6、以下说法正确的是 D 。
A.数据项是数据的基本单位
B.数据元素是数据的最小单位
C.数据结构是带结构的数据项的集合
D.一些表面上很不相同的数据可以有相同的逻辑结构
7、向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)
A.O(n) B.O(1)
C.O(n2) D.O(10g2n)
5、若一个栈以数组V[0..n-1]存储,初始栈顶指针top为n,则x入栈的正确操作是
A.top=top+1;V[top]=x B.V[top]=x;top=top+1
C.top=top一1;V[mp]=x D.V[top]=x;top=top—l
42、6个顶点的强连通图中,含有的边数至少是
A.4 B.5 C.6 D.7
43、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
15、当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A.整形 B.引用型
C.指针型 D.常值引用型?
16、数据结构中,从逻辑上可以把数据结构分成(?)。
?A.动态结构和静态结构?B.紧凑结构和非紧凑结构?C.线性结构和非线性结构?D.内部结构和外部结构
31、数据结构中,从逻辑上可以把数据结构分成(?)。
?A.动态结构和静态结构?B.紧凑结构和非紧凑结构?C.线性结构和非线性结构?D.内部结构和外部结构
32、深度为k的完全二叉树所含叶结点的个数最多为( B)。

数据结构考试试题及答案

数据结构考试试题及答案

数据结构考试试题及答案一、选择题(每题2分,共60分)1. 数据结构是指()。

A. 用来存储和组织数据的方式和方法B. 构建数据的逻辑关系C. 存储和处理数据的工具和技术D. 对数据进行操作和管理的过程2. 下列哪种数据结构是线性结构()。

A. 树B. 图C. 队列D. 堆3. 下列哪种数据结构是非线性结构()。

A. 栈B. 队列C. 数组D. 树4. 栈是一种()。

A. 先进先出的数据结构B. 先进后出的数据结构C. 后进先出的数据结构D. 后进后出的数据结构5. 在二叉树中,每个节点最多有几个孩子节点()。

A. 0B. 1C. 2D. 36. 下列哪种排序算法的时间复杂度最好()。

A. 冒泡排序B. 插入排序C. 快速排序D. 归并排序7. 哈希表的查找时间复杂度是()。

A. O(1)B. O(logn)C. O(n)D. O(nlogn)8. 链表的插入和删除操作时间复杂度是()。

A. O(1)B. O(logn)C. O(n)D. O(nlogn)9. 广度优先搜索算法一般使用()数据结构来实现。

A. 栈B. 队列C. 堆D. 树10. 什么是递归()。

A. 函数调用自身的过程B. 通过循环完成的过程C. 一种数据结构D. 没有调用其他函数的过程二、填空题(每题2分,共20分)1. 数据结构中,线性表是由一系列 _______________ 元素构成的数据结构。

2. 在树结构中,每个节点可以有 _______________ 个子节点。

3. 在图结构中,节点之间的关系可以用 _______________ 来表示。

4. _______________ 是一种递归定义的数据结构,它由若干个节点组成,每个节点都有零个或多个子节点。

5. 在堆排序中,堆是一种 _______________ 数据结构。

6. _______________ 是一种常用的搜索算法,常用于解决最短路径问题。

7. 在散列表中,使用 _______________ 来解决冲突问题。

2014数据结构试题及答案

2014数据结构试题及答案

101. 【第1章绪论】一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为____O(n)____。

102. 【第1章绪论】数据的物理结构主要包括_____________和______________两种情况。

元素的表示,关系的表示103. 【第1章绪论】for(i=1,t=1,s=0;i<=n;i++) {t=t*i;s=s+t;}的时间复杂度为_________。

O(n)104.【第2章线性表】设指针变量p指向双向循环链表中的结点X,则删除结点X需要执行的语句序列为_________________________________________________________(设结点中的两个指针域分别为llink和rlink)。

p>llink->rlink=p->rlink; p->rlink->llink=p->rlink105. 【第2章线性表】设有一个顺序循环队列中有M个存储单元,则该循环队列中最多能够存储________个队列元素;当前实际存储________________个队列元素(设头指针F指向当前队头元素的前一个位置,尾指针指向当前队尾元素的位置)。

M-1 ,(R-F+M)%M106. 【第2章线性表】设顺序线性表中有n个数据元素,则第i个位置上插入一个数据元素需要移动表中_______个数据元素;删除第i个位置上的数据元素需要移动表中_______个元素。

n+1-i ,n-i107. 【第2章线性表】设指针变量p指向单链表中结点A,指针变量s指向被插入的新结点X,则进行插入操作的语句序列为__________________________(设结点的指针域为next)。

s->next=p->next; p->next=s108.【第2章线性表】设F和R分别表示顺序循环队列的头指针和尾指针,则判断该循环队列为空的条件为_____________________。

java数据结构期末考试题及答案

java数据结构期末考试题及答案

java数据结构期末考试题及答案一、选择题(每题2分,共20分)1. 在Java中,以下哪个类是`java.util`包的一部分?A. ArrayListB. HashMapC. LinkedListD. All of the above答案:D2. 下列哪个方法用于将元素添加到ArrayList的末尾?A. add()B. append()C. push()D. insert()答案:A3. 在Java中,HashMap的键值对映射关系是什么?A. 一对一B. 一对多C. 多对一D. 多对多答案:A4. 下列哪个类是Java集合框架中的接口?A. LinkedListB. HashSetC. ArrayListD. Collection答案:D5. Java中,哪个方法用于删除ArrayList中的指定元素?A. remove()B. delete()C. erase()D. clear()答案:A6. 下列哪个类实现了Queue接口?A. PriorityQueueB. LinkedListC. HashSetD. TreeSet答案:B7. Java中,哪个方法用于判断HashMap是否包含指定的键?A. containsKey()B. containsValue()C. contains()D. hasKey()答案:A8. 下列哪个方法用于获取ArrayList的当前大小?A. size()B. length()C. count()D. lengthOf()答案:A9. 在Java中,哪个类实现了Set接口?A. ArrayListB. LinkedListC. HashSetD. HashMap答案:C10. 下列哪个方法用于将元素插入到ArrayList的指定位置?A. add()B. insert()C. put()D. set()答案:A二、填空题(每题2分,共20分)1. 在Java中,使用________方法可以创建一个ArrayList实例。

java数据结构测试题及答案解析

java数据结构测试题及答案解析

java数据结构测试题及答案解析```markdownJava数据结构测试题及答案解析第一章:数组概述数组是一种线性数据结构,用于存储多个相同数据类型的元素。

本章将介绍数组的基本概念和操作。

1.定义数组在Java中,可以使用以下语法定义一个数组:```java<数据类型>[] <数组名> = new <数据类型>[<数组长度>];```2.访问数组元素可以使用索引值来访问数组中的元素,索引值从0开始。

例如,要访问数组中的第一个元素,可以使用以下语法:```java<数组名>[0];```3.数组的常见操作本节将详细介绍数组的常见操作,包括添加元素、删除元素、查找元素等。

3.1 添加元素可以使用以下语法向数组中添加元素:```java<数组名>[<索引值>] = <新元素>;```3.2 删除元素使用以下语法删除数组中的元素:```java<数组名>[<索引值>] = null;```3.3 查找元素可以使用循环语句遍历数组,并通过判断元素的值来查找指定元素。

第二章:链表概述链表是一种常见的数据结构,用于存储多个元素。

本章将介绍链表的基本概念和操作。

1.定义链表在Java中,可以使用以下代码定义一个链表节点:```javaclass ListNode {int val;ListNode next;ListNode(int x) { val = x; }}```2.链表的插入和删除本节将介绍链表的插入和删除操作,包括在链表头插入、在链表尾插入、在指定位置插入等。

2.1 在链表头插入使用以下代码在链表头部插入一个节点:```javaListNode newNode = new ListNode(val); newNode.next = head;head = newNode;```2.2 在链表尾插入使用以下代码在链表尾部插入一个节点:```javaListNode newNode = new ListNode(val); if (head == null) {head = newNode;} else {ListNode curr = head;while (curr.next != null) {curr = curr.next;}curr.next = newNode;}```2.3 删除节点使用以下代码删除链表中的一个节点:```javaListNode prev = null;ListNode curr = head;while (curr != null) {if (curr.val == val) {if (prev == null) {head = curr.next;} else {prev.next = curr.next; }break;}prev = curr;curr = curr.next;}```3.链表的常见操作本节将介绍链表的常见操作,包括查找节点、链表反转等。

数据结构与算法试卷(java版)

数据结构与算法试卷(java版)

数据结构与算法试卷(java版)
以下是一份数据结构与算法试卷(Java版)的示例,供您参考:
数据结构与算法试卷(Java版)
一、选择题(请从下列四个选项中选出一个正确答案)
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. 快速排序
二、填空题(请根据题目要求填写正确的答案)
1. 在数据结构中,________是一种树形结构,它由根节点和若干个子树组成。

答案:森林(或二叉树)
2. 在算法中,________是一种分治策略的排序算法,它的基本思想是将待排
序的元素分成若干个子序列,分别对子序列进行排序,最后将排好序的子序列合并成一个有序序列。

答案:归并排序(或合并排序)
3. 在数据结构中,________是一种特殊的线性结构,它只允许在表的一端插
入元素,另一端删除元素。

答案:栈(或队列)
4. 在数据结构中,________是一种非线性结构,它由节点和边组成。

答案:图(或无向图、有向图)。

2014江苏省数据结构与算法理论考试试题及答案

2014江苏省数据结构与算法理论考试试题及答案
A)3 B)4 C)5 D)1
33、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定
34、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
C)p=p->next->next; D) p->next=p;
21、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)FCFS D)HPF
22、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
26、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 பைடு நூலகம் D)包括以上三个方面
23、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用顺序存储,便于进行插入和删除操作。
A) Head(Head(Tail(Tail(L))))
B) Tail(Head(Head(Tail(L))))
C) Head(Tail(Head(Tail(L))))
D)Head(Tail(Head(Tail(Tail(L)))))
C)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c

数据结构(本)期末综合练习(2014年12月)

数据结构(本)期末综合练习(2014年12月)

数据结构期末综合练习2014年12月期末综合练习一一、单项选择题1 .单向链表所具备的特点是( )。

A.可以随机访问任一结点B.占用连续的存储空间C.插入删除不需要移动元素D.可以通过某结点的指针域访问其前驱结点2.头指针为head的带头结点的单向链表为空的判定条件是( )为真。

A. head= =NULLB. head->next= =NULLC. head->next=NULL;D. head->next!= NULL3.设有一个长度为18的顺序表,要在第6个元素之前插入一个元素(也就是插入元素作为新表的第6个元素),则移动元素个数为()。

A.12 B.5 C. 13 D.64.设有一个长度为32的顺序表,要删除第8个元素需移动元素的个数为()。

A.9 B.8 C.25 D.245.栈和队列的共同特点是()。

A.都是线性结构 B.元素都可以随机进出C.都是先进后出 D.都是先进先出6.一个栈的进栈序列是2,4,6,8,10,则栈的不可能输出序列是()(进栈出栈可以交替进行)。

A.2,4,6,8,10 B.8,6,10,2,4C.8,10,6,4,2 D.10,8,6,4,27.元素1,3,5,7按顺序依次入队列,按该队列的出队序列进栈,该栈的可能输出序列是()(进栈出栈可以交替进行)。

A.7,5,1,3 B.7,3,1,5C.5,1,3,7 D.7,5,3,18.一个队列的入队序列是a,b,c,d,按该队列的可能输出序列使各元素依次入栈,该栈的可能输出序列是()。

(进栈出栈可以交替进行)。

A.d,c,b,a B.c,a,b,dC.d,b,a,c D.d,a,b,c9.在一个不带头结点的链队中,假设f和r分别为队头和队尾指针,则对该队列进行出队操作中并把结点的值保存在变量e中,其运算为e=f→data;和()。

A.r=r→next; B.r→next=r;C.f=f→next; D.f→next=f;10.在一个链队中,假设f和r分别为队头和队尾指针,p指向一个已生成的结点,现要为该结点的数据域赋值e,并使结点入队的运算为p->data=e; p->next=NULL ;和()。

java数据结构期末考试题及答案

java数据结构期末考试题及答案

java数据结构期末考试题及答案一、选择题(每题2分,共20分)1. 在Java中,以下哪个类是实现了List接口的?A. ArrayListB. LinkedListC. HashSetD. TreeMap答案:A、B2. 以下哪个方法用于在ArrayList中添加元素?A. add(E e)B. put(E key, V value)C. insert(int index, E element)D. append(E element)答案:A3. 在Java中,哪个类实现了Map接口?A. ArrayListB. HashMapC. HashSetD. LinkedList答案:B4. 以下哪个排序算法的时间复杂度为O(nlogn)?A. 冒泡排序B. 快速排序C. 选择排序D. 插入排序答案:B5. 在Java中,哪个类提供了优先队列的功能?A. PriorityQueueB. LinkedListC. StackD. TreeSet答案:A6. 在Java中,以下哪个方法用于删除LinkedList中的元素?A. remove(Object o)B. poll()C. pop()D. dequeue()答案:A、B7. 在Java中,以下哪个类实现了Set接口?A. ArrayListB. HashSetC. HashMapD. LinkedList答案:B8. 在Java中,哪个类提供了栈的功能?A. StackB. LinkedListC. PriorityQueueD. TreeSet答案:A9. 在Java中,以下哪个方法用于在HashMap中添加键值对?A. add(K key, V value)B. put(K key, V value)C. insert(K key, V value)D. append(K key, V value)答案:B10. 在Java中,以下哪个类实现了SortedSet接口?A. TreeSetB. HashSetC. LinkedHashSetD. ArrayList答案:A二、填空题(每题2分,共20分)1. 在Java中,______类实现了List接口,允许对元素进行索引访问。

2014江苏省分析数据库的考试题目基础

2014江苏省分析数据库的考试题目基础

1、设t是给定的一棵二叉树,下面的递归程序count(t)用于求得:二叉树t中具有非空的左,右两个儿子的结点个数N2;只有非空左儿子的个数NL;只有非空右儿子的结点个数NR和叶子结点个数N0。

N2、NL、NR、N0都是全局量,且在调用count(t)之前都置为0.typedef struct node{int data; struct node *lchild,*rchild;}node;int N2,NL,NR,N0;void count(node *t){if (t->lchild!=NULL) if (1)___ N2++; else NL++;else if (2)___ NR++; else (3)__ ;if(t->lchild!=NULL)(4)____; if (t->rchild!=NULL) (5)____;}26.树的先序非递归算法。

void example(b)btree *b;{ btree *stack[20], *p;int top;if (b!=null){ top=1; stack[top]=b;while (top>0){ p=stack[top]; top--;printf(“%d”,p->data);if (p->rchild!=null){(1)___; (2)___;}if (p->lchild!=null)(3)___; (4)__;}}}}2、本题要求建立有序的循环链表。

从头到尾扫描数组A,取出A[i](0<=i<n),然后到链表中去查找值为A[i]的结点,若查找失败,则插入。

LinkedList creat(ElemType A[],int n)//由含n个数据的数组A生成循环链表,要求链表有序并且无值重复结点{LinkedList h;h=(LinkedList)malloc(sizeof(LNode));//申请结点h->next=h; //形成空循环链表for(i=0;i<n;i++){pre=h;p=h->next;while(p!=h && p->data<A[i]){pre=p; p=p->next;} //查找A[i]的插入位置if(p==h || p->data!=A[i]) //重复数据不再输入{s=(LinkedList)malloc(sizeof(LNode));s->data=A[i]; pre->next=s; s->next=p;//将结点s链入链表中}}//forreturn(h);}算法结束3、4、 void LinkList_reverse(Linklist &L)//链表的就地逆置;为简化算法,假设表长大于2{p=L->next;q=p->next;s=q->next;p->next=NULL;while(s->next){q->next=p;p=q;q=s;s=s->next; //把L的元素逐个插入新表表头}q->next=p;s->next=q;L->next=s;}//LinkList_reverse4、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个人按顺时针方向围坐成一圈,现从第s个人开始按顺时针方向报数,数到第m个人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列,…,如此重复直到所有的人全部出列为止。

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

1、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。

A)13 B)33 C)18 D)40
2、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。

当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。

A) 4 B)3 C)2 D)12
3、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。

A)顺序表示法 B)单字符为结点的单链表表示法
C)等量分块表示法 D)不等量分块表示法
4、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。

A) hs->next=s; B) s->next=hs->next; hs->next=s;
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
5、串的逻辑结构与( D )的逻辑结构不同。

A)线性表 B)栈
C)队列 D)树
6、二叉树第i(i≥1)层上至多有( C )结点。

A)2i B)2i C)2i-1 D)2i-1
7、数据结构研究的内容是( D )。

A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
8、线索二叉树中某结点D,没有左孩子的条件是( B )。

A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
9、已知栈的最大容量为4。

若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。

A) 5,4,3,2,1,6 B) 2,3,5,6,1,4
C) 3,2,5,4,1,6 D) 1,4,6,5,2,3
10、下列序列中,执行第一趟快速排序后得到的序列是( A )。

A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]
11、二叉树第i(i≥1)层上至多有( C )结点。

A)2i B)2i C)2i-1 D)2i-1
12、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。

A) hs->next=s; B) s->next=hs->next; hs->next=s;
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
13、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。

A)n B)2e C)e D) n+e
14、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。

A)top不变 B)top=0 C)top-- D)top++。

相关文档
最新文档