2015年甘肃省JAVA版数据结构最新考试试题库(完整版)
数据结构试题库
数据结构一、选择题1.采用折半查找方法进行查找,数据文件应为(),且限于(A)。
A.有序表顺序存储结构B.有序表链式存储结构C.随机表顺序存储结构D.随机表链式存储结构2.算法分析的目的是( C )。
A.找出数据结构的合理性B.研究算法中输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性3.( B )是具有相同特性数据元素的集合,是数据的子集。
A.数据符号B.数据对象C.数据D.数据结构4.用链表表示线性表的优点是( C )。
A.便于随机存取B.花费的存储空间比顺序表少C.便于插入与删除D.数据元素的物理顺序与逻辑顺序相同5.输入序列为(A,B,C,D)不可能的输出有(D )。
A.(A,B,C,D)B. (D,C,B,A)C. (A,C,D,B) D . (C,A,B,D)6.在数组表示的循环队列中,front、rear分别为队列的头、尾指针,maxSize为数组的最大长度,队满的条件是( B )。
A. front=maxSizeB. (rear+1)%maxSize=frontC. rear=maxSizeD. rear=front7.设有串t='I am a good student ',那么Substr(t,6,6)=( D )。
A. studentB. a good sC. goodD. a good8.假定一棵二叉树的结点数为33个,则它的最小高度为(C),最大高度为()。
A、 4,33B、5,33C、6,33D、6,329.设有一个对称矩阵A,采用压缩存储方式,以行序为主序存储a11为第一个元素,其存储地址为1,每个元素占一个地址空间,则a85地址为( B )。
A.23B.33C.18D. 4010.已知广义表LS=(A,(B,C,D),E)运用head和tail函数,取出LS中原子b的运算( C )。
A. Gethead(Gethead(LS))B. Gettail(Gethead(LS))C. Gethead(Gethead(Gettail(LS)))D. Gethead(Gettail(LS))11.若已知一棵二叉树先序序列为ABCDEFG,中序序列为CBDAEGF,则其后序序列为( A ) 。
数据结构考试试题库含答案解析
数据构造习题集含答案目录目录 (1)选择题 (2)第一章绪论 (2)第二章线性表 (4)第三章栈和队列 (6)第四章串 (7)第五章数组和广义表 (8)第六章树和二叉树 (8)第七章图 (11)第八章查找 (13)第九章排序 (14)简答题 (19)第一章绪论 (19)第二章线性表 (24)第三章栈和队列 (26)第四章串 (28)第五章数组和广义表 (29)第六章树和二叉树 (31)第七章图 (36)第八章查找 (38)第九章排序 (39)编程题 (41)第一章绪论 (41)第二章线性表 (41)第三章栈和队列 (52)第四章串 (52)第五章数组和广义表 (52)第六章树和二叉树 (52)第七章图 (52)第八章查找 (52)第九章排序 (57)选择题第一章绪论1.数据构造这门学科是针对什么问题而产生的?〔A〕A、针对非数值计算的程序设计问题B、针对数值计算的程序设计问题C、数值计算与非数值计算的问题都针对D、两者都不针对2.数据构造这门学科的研究内容下面选项最准确的是〔D〕A、研究数据对象和数据之间的关系B、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3.某班级的学生成绩表中查得X三同学的各科成绩记录,其中数据构造考了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〕。
数据结构(Java版)_郑州大学中国大学mooc课后章节答案期末考试题库2023年
数据结构(Java版)_郑州大学中国大学mooc课后章节答案期末考试题库2023年1.对不含相同元素的同一输入序列进行两组不同的、合法的入栈和出栈组合操作,所得的输出序列一定相同。
参考答案:错误2.在链队列中,即使不设置尾指针,也能进行入队操作。
参考答案:正确3.循环顺序队列和循环链队列都存在空间一处问题。
参考答案:错误4.直接选择排序的时间复杂度与关键字的初始排列无关。
参考答案:正确5.一个循环链表可以由给定的头指针或尾指针来唯一标识。
参考答案:正确6.所谓随机存取,就是通过首地址和元素的序号可以在O(1)的时间内找到指定的元素。
参考答案:正确7.快速排序在最坏情况下的时间复杂度是O(【图片】)。
参考答案:正确8.哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近()参考答案:正确9.在队列中存取数据元素的原则是()。
参考答案:先进先出10.将整数1、2、3、4依次进栈,则不可能得到的出栈序列是()。
参考答案:142311.完全二叉树的存储结构通常采用顺序存储结构()。
参考答案:正确12.在中序线索二叉树中,每一非空的线索均指向其祖先结点()参考答案:正确13.二叉树中序线索化后,不存在空指针域()参考答案:错误14.二叉树的层次遍历需要栈结构的支持。
参考答案:错误15.下列关于AOE网的叙述中,不正确的是()参考答案:任何一个关键活动提前完成,那么整个工程将会提前完成16.一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足()参考答案:只有一个叶子结点17.引入二叉线索树的目的是()参考答案:加快查找结点的前驱或后继的速度18.单源最短路径算法的时间复杂度为()参考答案:O()19.对6个不同的数据元素进行直接插入排序,最多需要进行()次关键字的比较。
参考答案:1520.完全二叉树中,若一个结点没有左孩子,则它必是树叶()。
参考答案:正确21.已知循环队列存储在一维数组A[0【图片】n]中,且队列非空时front和rear分别指向队首元素和队尾元素。
2015甘肃省数据库考试含答案加强
1、设计一个尽可能的高效算法输出单链表的倒数第K个元素。
2、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_reverse3、请编写一个判别给定二叉树是否为二叉排序树的算法,设二叉树用llink-rlink法存储。
4、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7},E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>,<V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>}写出G的拓扑排序的结果。
G拓扑排序的结果是:V1、V2、V4、V3、V5、V6、V75、证明由二叉树的中序序列和后序序列,也可以唯一确定一棵二叉树。
当n=1时,只有一个根结点,由中序序列和后序序列可以确定这棵二叉树。
设当n=m-1时结论成立,现证明当n=m时结论成立。
设中序序列为S1,S2,…,Sm,后序序列是P1,P2,…,Pm。
因后序序列最后一个元素Pm是根,则在中序序列中可找到与Pm相等的结点(设二叉树中各结点互不相同)Si(1≤i≤m),因中序序列是由中序遍历而得,所以Si是根结点,S1,S2,…,Si-1是左子树的中序序列,而Si+1,Si+2,…,Sm是右子树的中序序列。
若i=1,则S1是根,这时二叉树的左子树为空,右子树的结点数是m-1,则{S2,S3,…,Sm}和{P1,P2,…,Pm-1}可以唯一确定右子树,从而也确定了二叉树。
java期末考试试题及答案
java期末考试试题及答案Java期末考试试题及答案一、选择题(每题2分,共20分)1. Java语言属于以下哪类编程语言?A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案: B2. 下列哪个关键字用于定义Java类?A. classB. interfaceC. enumD. package答案: A3. Java中,哪个关键字用于实现继承?A. extendsB. implementsC. overrideD. abstract答案: A4. Java中,哪个关键字用于定义接口?A. classB. interfaceC. abstractD. enum答案: B5. 以下哪个是Java的集合框架中的数据结构?A. ArrayListB. LinkedListC. HashMapD. 所有选项答案: D6. Java中,哪个关键字用于抛出异常?A. tryB. catchC. throwD. finally答案: C7. 下列哪个是Java的访问修饰符?A. publicB. protectedC. privateD. 所有选项答案: D8. Java中,哪个关键字用于定义静态方法?A. staticB. finalC. abstractD. volatile答案: A9. 在Java中,哪个关键字用于定义同步方法?A. synchronizedB. volatileC. transientD. native答案: A10. Java中,哪个关键字用于实现多态?A. extendsB. implementsC. overrideD. abstract答案: C二、简答题(每题5分,共20分)1. 简述Java的垃圾回收机制。
答案: Java的垃圾回收机制是一种自动内存管理方式,它通过垃圾回收器定期检查不再被引用的对象,并释放它们占用的内存。
垃圾回收器工作时,会暂停应用程序的执行,直到回收完成。
数据结构考试试题
(2)利用 kruskal 算法构造最小生成树的过程。
参考答案: 1、利用 Prim 算法从顶点 a 开始构造最小生成树的过程如图所示。
2、利用 Kruskal 算法构造最小生成树的过程如图所示。
四、算法实现题(共 20 分)(请考生根据自己所学的语言编写,可以用 C、C++、JAVA、C#、
PHP 中任一种语言实现,如果采用伪代码实现功能成绩减半)
D. 1, 5, 3, 9, 12, 7
19. 设有广义表 D=(a,b,D),其长度为( B ),深度为( A )。
A.无穷大
B.3
C.2
D.5
20. 假定在数组 A 中,每个元素的长度为 3 个字节,行下标 i 从 1 到 8,列下
标 j 从 1 到 10,从首地址 SA 开始连续存放在存储器内,存放该数组至少需要的
A. 3
B. 4
C. 5
D. 6
16. 若根据查找表(23,44,36,48,52,73,64,58)建立哈希表,采用 h(K)=K%13 计
算哈希地址,则元素 64 的哈希地址为( C )。
A. 4
B. 8
C. 12
D. 13
17. 假定对元素序列(7, 3, 5, 9, 1, 12, 8, 15)进行快速排序,则进行第一次划分
mid=(low+high)/2;
if(k<a[mid])
high=mid-1;
else if(k>a[mid])
low=mid+1;
else{
flag=mid;
System.out.println(flag);
break;
}
}
return flag;
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:请编写一个方法,判断一个给定的二叉树是否是平衡二叉树。
2015年数据结构期末考试题及答案,推荐文档(2021年整理)
2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改) 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为2015年数据结构期末考试题及答案,推荐文档(word版可编辑修改)的全部内容。
2012年数据结构期末考试题及答案一、选择题1.在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构2.数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构B.数据结构C.数据的逻辑结构 D.数据元素之间的关系3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。
A.逻辑B.存储C.逻辑和存储D.物理4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C .A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法5.在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何B.结点个数的多少C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便.6.以下说法正确的是 D 。
A.数据项是数据的基本单位B.数据元素是数据的最小单位C.数据结构是带结构的数据项的集合D.一些表面上很不相同的数据可以有相同的逻辑结构7.算法分析的目的是 C ,算法分析的两个主要方面是 A .(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系C.分析算法的效率以求改进 C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是O(n2) 。
2015海南省JAVA版数据结构最新考试试题库(完整版)
1、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵C) 对角矩阵 D) 对称矩阵2、与无向图相关的术语有( C )。
A)强连通图 B)入度C)路径 D)弧3、下列序列中,执行第一趟快速排序后得到的序列是( 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]4、在一个单链表中,已知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;5、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A) 单链表 B) 仅有头指针的单循环链表C) 双链表 D) 仅有尾指针的单循环链表6、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++7、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定8、已知栈的最大容量为4。
若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4C) 3,2,5,4,1,6 D) 1,4,6,5,2,39、队列的操作的原则是( A )。
A)先进先出 B) 后进先出C) 只能进行插入 D) 只能进行删除10、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
Java常见数据结构面试题(带答案)
Java常见数据结构⾯试题(带答案)1.栈和队列的共同特点是(只允许在端点处插⼊和删除元素)4.栈通常采⽤的两种存储结构是(线性存储结构和链表存储结构)5.下列关于栈的叙述正确的是(D)A.栈是⾮线性结构B.栈是⼀种树状结构C.栈具有先进先出的特征D.栈有后进先出的特征6.链表不具有的特点是(B)A.不必事先估计存储空间 B.可随机访问任⼀元素C.插⼊删除不需要移动元素D.所需空间与线性表长度成正⽐7.⽤链表表⽰线性表的优点是(便于插⼊和删除操作)8.在单链表中,增加头结点的⽬的是(⽅便运算的实现)9.循环链表的主要优点是(从表中任⼀结点出发都能访问到整个链表)10.线性表L=(a1,a2,a3,……ai,……an),下列说法正确的是(D)A.每个元素都有⼀个直接前件和直接后件B.线性表中⾄少要有⼀个元素C.表中诸元素的排列顺序必须是由⼩到⼤或由⼤到⼩D.除第⼀个和最后⼀个元素外,其余每个元素都有⼀个且只有⼀个直接前件和直接后件11.线性表若采⽤链式存储结构时,要求内存中可⽤存储单元的地址(D)A.必须是连续的B.部分地址必须是连续的C.⼀定是不连续的D.连续不连续都可以12.线性表的顺序存储结构和线性表的链式存储结构分别是(随机存取的存储结构、顺序存取的存储结构)13.树是结点的集合,它的根结点数⽬是(有且只有1)14.在深度为5的满⼆叉树中,叶⼦结点的个数为(31)15.具有3个结点的⼆叉树有(5种形态)16.设⼀棵⼆叉树中有3个叶⼦结点,有8个度为1的结点,则该⼆叉树中总的结点数为(13)17.已知⼆叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(cedba)18.已知⼀棵⼆叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该⼆叉树的后序遍历为(DGEBHFCA)19.若某⼆叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是(gdbehfca)20.数据库保护分为:安全性控制、完整性控制、并发性控制和数据的恢复。
《数据结构(Java版)(第4版)》样卷及答案
//将 s 中所有空格删除,返回操作后的 s 串
{
int i=0; while (i<s.length() && s.charAt(i)!=' ')
//i 记住第 1 个空格下标
i++;
for (int j=i; j<s.length(); j++) if (s.charAt(j)!=' ') s.setCharAt(i++, s.charAt(j));
String target="aababbabac", pattern="ab", str="aba";
System.out.println("\""+target+"\".replaceAll(\""+pattern+"\", \""+str+"\")=\""+
target.replaceAll(pattern,str)+"\"");
5. mat+(i*n+j)*4=1000+(4*8+5)*4=1148 6. n*(n-1)/2 7. {43,61*,72,96};{43,17,20,32}。解释见《习题解答》第 54 页习 8-9。 8. 见《数据结构(Java 版)(第 4 版)习题解答》第 57 页习 9-4。
二、 问答题(50 分=5 分×10 题)
2015甘肃省数据结构最新考试试题库(完整版)
17、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
C)队列 D)集合
7、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
B) B, C, D, E, A
C) E, A, B, C, D
31、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定
32、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)直接选择排序 B)直接插入排序
C)快速排序 D)起泡排序
27、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。
A) 4 B)3 C)2 D)12
C) O(m*n) D)O(1)
9、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)
C)空表 D)((a,b),(c,d))
1、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
A)3,2,5,6,4,1 B)1,5,4,6,2,3
java数据结构测试题及答案解析
1 下列数据结构中,能用二分法进行查找的是__A____。
A、顺序存储的有序线性表B、线性链表C、二叉链表D、有序线性链表解析:二分法查找只合用于顺序存储的有序表。
在此所说的有序表是指线性表中的元素按值非递减罗列(即从小到大,但允许相邻元素值相等)。
2 在软件设计中,不属于过程设计工具的是__D____。
A、PDL(过程设计语言)B、PAD 图C、N-S 图D、DFD 图解析:软件设计工具包括:程序流程图、 N-S、PAD、HIPO,判定表, PDL(伪码)。
而 DFD(数据流图)属于结构化分析工具。
3 在 switch(expression)语句中, expression 的数据类型不能是__A____。
A、doubleB、charC、byteD、short解析:表达式expression 只能返回这个几种类型的值: int、byte、short 和 char。
多分支语句把表达式返回的值挨次与每一个 case 子句中的值相比较,如果遇到匹配的值,则执行该 case 子句后的语句序列。
4 下列叙述中,错误的是__D____。
A、父类不能替代子类B、子类能够替代父类C、子类继承父类D、父类包含子类5 通过继承实现代码复用:Java 中所有的类都是通过直接或者间接地继承 ng.Object 类得到的。
继承而得到的类称为子类,被继承的类称为父类。
子类不能继承父类中访问权限为 private 的成员变量和方法,子类可以重写父类的方法,及命名与父类同名的成员变量。
子类通过隐藏父类的成员变量和重写父类的方法,把父类的状态和行为改变为自身的状态和行为。
注意:子类中重写的方法和父类中被重写的方法要具有相同的名字,相同的参数表和相同的返回类型,只是函数体不同。
由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。
程序中凡是使用父类对象的地方,都可以用子类对象来代替。
一个对象可以通过引用子类的实例来调用子类的方法。
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实例。
数据结构试题库集及答案
数据结构试题库及答案第一章概论一、选择题1、研究数据结构就是研究( D )。
A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作2、算法分析的两个主要方面是( A )。
A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
A. 图B. 树C. 广义表D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。
A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( 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)6、算法是( D )。
A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。
A. O(n)B. O(nlog2n)C. O(n2)D. O(log2n)8、下面程序段的时间复杂度为( C )。
i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log3n)D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的()和运算等的学科。
A. 结构B. 关系C. 运算D. 算法10、下面程序段的时间复杂度是()。
i=s=0;while(s<n){i++;s+=i;}A. O(n)B. O(n2)C. O(log2n)D. O(n3)11、抽象数据类型的三个组成部分分别为()。
A. 数据对象、数据关系和基本操作B. 数据元素、逻辑结构和存储结构C. 数据项、数据元素和数据类型D. 数据元素、数据结构和数据类型12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是()。
2015-2016Java期末考试真题100道(附答案解析)
Java单选题详解一、单选题(本大题共100题, 小计100.0分)1. 访问权限修饰符有public、private、protected和默认修饰符(没有写任何修饰符),他们既可以用来修饰类,也可以用来修饰类中的成员,使用private修饰符的成员可见情况有()A、同一类[正确选项] ;B、不同包中的子类;C、同一包中的非子类;D、同一包中的子类;参照答案:A2.下列关于变量的叙述哪个是错的?()A、局部变量在使用前必须被初始化;B、实例变量是类的成员变量;C、实例变量用关键字static声明;D、在方法中定义的局部变量在该方法被执行时创建;参照答案:C在类的声明中,属性是用变量来表示的。
这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
类的每个对象维护它自己的一份实例变量的副本。
3. 关于以下程序段,正确的说法是()1.String s1=”abc”+”def”;2.String s2=new String(s1);3.if(s1= =s2)4.System.out.println(“= = succeeded”);5.if (s1.equals(s2))6.System.out.println(“.equals()succeeded”);A、行6执行,行4不执行;B、行4与行6都将执行;C、行4执行,行6不执行;D、行4、行6都不执行;参照答案:A4. 下列程序代码段运行后,变量x的结果是( )int x=0;int y=3;switch(y){case 1:x++;case 2:x++;x++;case 3:x++;x++;x++;case 4:x+=4;}A、10 ;B、6 ;C、7;D、3 ;参照答案:C5. 已知A类被打包在packageA , B类被打包在packageB ,且B类被声明为public ,且有一个成员变量x被声明为protected控制方式。
Java试题库
第一章选择题:(共20题)1.Java语言是哪个公司开发的(C )。
A、 MicrosoftB、BorlandC、 SunD、Fox Software2.下列说法正确的是()。
A、Java程序中的main方法不是必须写到类里面。
B、Java程序中只能有一个main方法。
C、Java程序的类名必须与文件名一致。
D、Java程序的main方法里如果只有一条语句,可以不用{}括起来。
3.Java源代码文件的拓展名是()。
A、javaB、classC、txtD、doc4.Java程序中,main方法的格式正确的是()。
A、static void main(String[] args)B、public void main(String[] args)C、public static void main(String[]s)D、public static void main(String[] args)5.从控制台显示的消息语句正确的是()。
A、System.out.println(“第一章考试题”);B、System.Out.println(“第一章考试题”);C、system.out.println(“第一章考试题”);D、System.out.println(第一章考试题);6.下列属于是Java中正确注释的是()。
A、/这是注释B、//这是注释C、/*…*/这是注释D、/**…*/这是注释7.下面哪一项不是Java体系中的一种()。
A、Java ME(Java Micro Edition)B、Java SE(Java Standard Edition)C、Java EE(Java Enterprise Edition)D、Java VE(Java Virtual Edition)8.下列语句中哪一个是正确的()。
A、Java程序经编译后会产生machine codeB、Java程序经编译后会产生byte codeC、Java程序经编译后会产生DLLD、以上都不正确9.下列关于虚拟机说法错误的是()。
2015年甘肃省JAVA版数据结构考试题库
10、在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。
A.p->prior = s;s->next = p;p->prior->next = s;s->prior = p->prior
B.p->prior = s;p->prior->next = s;s->next = p;s->prior = p->prior
13、一个栈的入栈序列是1,2,3,4,5,则不可能的出栈序列是( )
A 5,4,3,2,1 B 4,5,3,2,1 C 4,3,5,1,2 D 1,2,3,4,5
14、在决定选取何种存储结构时,一般不考虑 A 。
A.各结点的值如何 B.结点个数的多少
D.{51,25,66,82,98,108}
36、在循环双链表的p所指的结点之前插入s所指结点的操作是 D 。
A.p->prior = s;s->next = p;p->prior->next = s;s->prior = p->prior
B.p->prior = s;p->prior->next = s;s->next = p;s->prior = p->prior
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
25、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
D.在单链表最后一个元素后插入一个新元素
数据结构与算法试卷(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. 在数据结构中,________是一种非线性结构,它由节点和边组成。
答案:图(或无向图、有向图)。
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接口,允许对元素进行索引访问。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D.循环双链表
14、向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( )。
A.O(n) B.O(1)
C.O(n2) D.O(10g2n)
15、下列关于哈夫曼树的叙述中,错误的是
A.用n个结点构造的哈夫曼树是唯一的
B.哈夫曼树中只有度为0或度为2的结点
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
D.在单链表最后一个元素后插入一个新元素
30、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
3、深度为k的完全二叉树至多有( )个结点
A B C D
4、广义表A=(x,((y),((a)),A))的深度是
A.2 B.3 C.4 D.∞
5、长度为n的顺序表,删除位置i上的元素(0≤i≤n一1),需要移动的元素个数为
C.树中两个权值最小的结点可能是兄弟结点
D.同一结点集构造的二叉树中,哈夫曼树的WPL最小
16、在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 D.内部结构和外部结构
17、若某线性表中最常用的操作是取第i个元素和找第i个元素的前驱,则采用( )存储方法最节省时间
33、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.p->next == NULL B.p == NULL
C.p->next ==head D.p == head
34、一个栈的入栈序列是1,2,3,4,5,则不可能的出栈序列是( )
28、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
A.数据元素具有同一特点
B.不仅数据元素所包含一致
C.每个数据元素都一样
D.数据元素所包含的数据项的个数要相等
29、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
41、下列选项中,符合堆定义的是
A.{102,24,55,60,89,93}
B.{24,89,55,60,93,102}
C.{102,93,55,60,89,24}
D.{102,60。89,93,55,24}
A 5,4,3,2,1 B 4,5,3,2,1 C 4,3,5,1,2 D 1,2,3,4,5
35、在平衡二叉树中插入一个结点后造成不平衡,设最低的不平衡结点为A,并已知A的左孩子平衡因子为0,右孩子平衡因子为1,则应该做( )型调整以使其平衡
A LL B LR C RL D RR
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
24、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用
D 存储方式最节省运算时间。
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
C.n(n—1)/2条有向边 D.n(n一1)条有向边
47、由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A.24 B.48
C. 72 D. 53
48、若一个栈以数组V[0..n-1]存储,初始栈顶指针top为n,则x入栈的正确操作是
42、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.p->next == NULL B.p == NULL
C.p->next ==head D.p == head
43、栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是
A.顺序栈需要判定栈空,链栈也需要判定
36、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.p->next == NULL B.p == NULL
C.p->next ==head D.p == head
37、需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。
A 顺序表 B单链表 C 双链表 D单循环链表
18、一个栈的入栈序列是1,2,3,4,5,则不可能的出栈序列是( )
A 5,4,3,2,1 B 4,5,3,2,1 C 4,3,5,1,2 D 1,2,3,4,5
19、广义表A=(x,((y),((a)),A))的深度是
25、下述排序方法中,时间性能和待排序记录的初始状态无关的是( )
A 插入排序和快速排序 B 归并排序和快速排序
C 选择排序和归并排序 D 插入排序和归并排序
26、在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行 B 操作与链表的长度有关。
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
49、6个顶点的强连通图中,含有的边数至少是
A.4 B.5 C.6 D.7
50、与单链表相比,双链表的优点之一是 D 。
A.插入、删除操作更简单
B.可以进行随机访问
C.可以省略表头指针或表尾指针
D.顺序访问相邻结点更灵活
51、深度为k的完全二叉树至多有( )个结点
A B C D
45、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用 B 。
A.只有表头指针没有表尾指针的循环单链表
B.只有表尾指针没有表头指针的循环单链表
C.非循环双链表
D.循环双链表
46、n个顶点的强连通图中至少含有( )。
A.n—l条有向边 B.n条有向边
A 插入排序和快速排序 B 归并排序和快速排序
C 选择排序和归并排序 D 插入排序和归并排序
8、深度为k的完全二叉树至多有( )个结点
A B C D
9、6个顶点的强连通图中,含有的边数至少是
A.O(1) B.O(n)
C.O(1Ogzn) D.O(n2)
22、从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A.O(1) B.O(n)
C.O(1Ogzn) D.O(n2)
23、数据结构在计算机内存中的表示是指 A 。
B.顺序栈需要判定栈空,而链栈不需要判定
C.顺序栈不需要判定栈空,而链栈需要判定
D.顺序栈不需要判定栈空,链栈也不需要判定
44、有向图采用邻接矩阵存储,某一行中非零元素的个数等于
A.对应顶点v的度
B.对应顶点v的出度
C.对应顶点v的入度
D.依附于对应顶点v的边数
A.顺序栈需要判定栈空,链栈也需要判定
B.顺序栈需要判定栈空,而链栈不需要判定
C.顺序栈不需要判定栈空,而链栈需要判定
D.顺序栈不需要判定栈空,链栈也不需要判定
40、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用
D 存储方式最节省运算时间。
A.删除单链表中的第一个元素
B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
D.在单链表最后一个元素后插入一个新元素
27、若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用
D 存储方式最节省运算时间。
A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表
A.n—i B.n—i—l C.i D.i+1
6、在数据结构中,从逻辑上可以把数据结构分为 C 。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构
C.线性结构和非线性结构 D.内部结构和外部结构
7、下述排序方法中,时间性能和待排序记录的初始状态无关的是( )
A.2 B.3 C.4 D.∞
20、广义表A=(x,((y),((a)),A))的深度是
A.2 B.3 C.4 D.∞
21、从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
38、广义表A=(x,((y),((a)),A))的深度是
A.2 B.3 C.4 D.∞
39、栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是
A.4 B.5 C.6 D.7
10、若一个栈以数组V[0..n-1]存储,初始栈顶指针top为n,则x入栈的正确操作是
A.top=top+1;V[top]=x B.V[top]=x;top=top+1
12、深度为k的完全二叉树所含叶结点的个数最多为( B)。
A)2k B) 2k-1 C)k D) 2k
13、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用 B 。
A.只有表头指针没有表尾指针的循环单链表
B.只有表尾指针没有表头指针的循环单链表
C.top=top一1;V[mp]=x D.V[top]=x;top=top—l
11、下述排序方法中,时间性能和待排序记录的初始状态无关的是( )
A 插入排序和快速排序 B 归并排序和快速排序
C 选择排序和归并排序 D 插入排序和归并排序
1、衡量查找算法效率的主要标准是( C )。