2013湖北省JAVA版数据结构考资料
2013年湖北省数据结构试题集(10套题并附带答案)考资料
D.同一结点集构造的二叉树中,哈夫曼树的WPL最小
12、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
A.数据元素具有同一特点
B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致
C.每个数据元素都一样
A.单链表 B.静态链表 C.线性链表 D.顺序存储结构
5、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.p->next == NULL B.p == NULL
C.p->next ==head D.p == head
6、通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
B. p一>next=HL;HL=p3
C. p一>next=Hl;p=HL;
D. p一>next=HL一>next;HL一>next=p
20、当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
14、链表不具备的特点是 A 。
A.可随机访问任一结点 B.插入删除不需要移动元素
C.不必事先估计存储空间 D.所需空间与其长度成正比
15、算法分析的目的是 C ,算法分析的两个主要方面是 A 。
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
44、下列关于哈夫曼树的叙述中,错误的是
A.用n个结点构造的哈夫曼树是唯一的
B.哈夫曼树中只有度为0或度为2的结点
C.树中两个权值最小的结点可能是兄弟结点
D.同一结点集构造的二叉树中,哈夫曼树的WPL最小
02331数据结构2013年10月份历年真题附答案
绝密★考试结束前全国2013年10月高等教育自学考试数据结构试题课程代码:02331请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.算法的时间复杂度表征的是A.算法的可读性B.算法的难易程度C.执行算法所耗费的时间D.执行算法所耗费的存储空间2.对需要频繁插入和删除结点的线性表,适合的存储方式是A.顺序储存B.链式存储C.索引存储D.散列存储3.在头指针为head的循环链表中,判断指针变量P指向尾结点的条件是A.p->next->next==head B.p->next==headC.p->next->next==NULL D.p->next==NULL4.迪杰斯特拉(Dijkstra)算法的功能是A.求图中某顶点到其他顶点的最短路径B.求图中所有顶点之间的最短路径C.求图的最小生成树D.求图的拓扑排序序列5.若栈的进栈序列为1,2,3,4,5,则经过出入栈操作不可能...获得的出栈序列是A.4,5,3,2,1 B.4,3,5,1,2C.1,2,3,4,5 D.5,4,3,2,16.A是7×4的二维数组,按行优先方式顺序存储,元素A[0][0]的存储地址为1 000,若每个元素占2个字节,则元素A[3][3]的存储地址为A.1015 B.1016C.1028 D.10307.深度为4的完全二叉树的结点数至少为A.4 B.8C.13 D.158.若采用邻接矩阵A存储有向图G,则结点k的入度等于A中A.结点k对应行元素之和B.结点k对应列元素之和C.结点k对应行和列元素之和D.非零元素之和9.无向图G的邻接矩阵一定是A.对称矩阵B.对角矩阵C.三角矩阵D.单位矩阵10.下列关于有向带权图G的叙述中,错误..的是A.图G的任何一棵生成树都不含有回路B.图G生成树所含的边数等于顶点数减1C.图G含有回路时无法得到拓扑序列D.图G的最小生成树总是唯一的11.在下列排序算法中,关键字比较次数与初始排列次序无关的是A.冒泡排序B.希尔排序C.直接插入排序D.直接选择排序1 2.对下图进行拓扑排序,可以得到的拓扑序列是A.a b c d e B.b a c d eC.b c a d e D.a b d c e13.下列线性表中,能使用二分查找的是A.顺序存储(2,12,5,6,9,3,89,34,25) B.链式存储(2,12,5,6,9,3,89,34,25) C.顺序存储(2,3,5,6,9,12,25,34,89) D.链式存储(2,3,5,6,9,12,25,34,89) 14.在下列查找方法中,平均查找长度与结点数量无直接关系的是A.顺序查找B.分块查找C.散列查找D.基于B树的查找15.下列排序算法中,时间复杂度为O(nlog2 n)的算法是A.快速排序B.冒泡排序C.直接选择排序D.直接插入排序非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
数据结构(java)复习题及答案
数据结构(java)复习题及答案⼀、选择题1、数据结构在计算机内存中的表⽰是指____A__A.数据的存储结构 B.数据结构C. 数据的逻辑结构D.数据元素之间的关系2、若⼀个算法的时间复杂度⽤T(n)表⽰,其中n的含义是( A )A.问题规模 B.语句条数C.循环层数 D.函数数量3、下列选项中与数据存储结构⽆关的术语是( D )A.顺序表B.链表C.链队列D.栈4、已知循环队列的存储空间⼤⼩为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下⼀个位置,则向队列中插⼊新元素时,修改指针的操作是( D )A.rear=(rear-1)%m;B.front=(front+1)%m;C.front=(front-1)%m;D.rear=(rear+1)%m;5、栈和队列的共同点是__C______A.都是先进后出B.都是先进先出C.只允许在端点处插⼊和删除元素D.没有共同点6、已知⼀堆栈的进栈序列为1234,则下列哪个序列为不可能的出栈序列______D__A.1234B.4321C.2143D.41237、具有线性结构的数据结构是( C )A.树 B.图C.栈和队列 D.⼴义表8、假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为( B )A.3 B.37C.50 D.979、若栈采⽤链式存储结构,则下列说法中正确的是( B )A.需要判断栈满且需要判断栈空B.不需要判断栈满但需要判断栈空C.需要判断栈满但不需要判断栈空D.不需要判断栈满也不需要判断栈空10、若⼀棵具有n(n>0)个结点的⼆叉树的先序序列与后序序列正好相反,则该⼆叉树⼀定是( C )A.结点均⽆左孩⼦的⼆叉树B.结点均⽆右孩⼦的⼆叉树C.⾼度为n的⼆叉树D.存在度为2的结点的⼆叉树11、若⼀棵⼆叉树中度为l的结点个数是3,度为2的结点个数是4,则该⼆叉树叶⼦结点的个数是( B )A.4B.5C.7D.812、在n个结点的线索⼆叉树中,线索的数⽬为_C_______A.n-1 B. nC.n+1D.2n13、⼀棵完全⼆叉树有1001个结点,其中有____B_____叶⼦结点A.500B.501C.503D.50515、⼀个有n个顶点的⽆向图最多有___C____条边。
《数据结构(Java版)(第3版)》复习
完全二叉树类
二叉链表 三叉链表
孩子顺序存储 树 ADT 孩子链式存储
孩子链表
父母孩子链表 二叉链表 三叉链表 孩子兄弟链表 父母孩子兄弟链表
《数据结构 (Java版)(第3版) 》
6.4 线索二叉树
1. 什么是线索二叉树?线索有什么作用?为 什么要将二叉树线索化? 2. 线索二叉树采用怎样的存储结构?在二叉 树线索化的过程中,对二叉链表的二叉树 做了哪些改动?
《数据结构 (Java版)(第3版) 》
6.5 Huffman编码与Huffman树
1. Huffman编码的特点是什么?有何作用? 2. 设一棵Huffman树有n0个叶子结点,该树 共有多少个结点?为什么? 【答】2n0-1。因为Huffman树没有1度结点, 而n0=n2+1,所以n=n0+n2=2n0-1。
数据结构java版第3版邻接矩阵邻接多重表邻接表深度和广度优先搜索遍历最小生成树最短路径ggraph图接口adjlistgraph邻接表表示的图类abstractgraph抽象图类实现adjmatrixgraph邻接矩阵表示的图类继承继承邻接矩阵邻接多重表邻接表深度和广度优先搜索遍历最小生成树最短路径ggraph图接口adjlistgraph邻接表表示的图类abstractgraph抽象图类实现adjmatrixgraph邻接矩阵表示的图类继承继承数据结构java版第3版73图的广度优先搜索遍历数据结构java版第3版74kruskal算法数据结构java版第3版75每对顶点间的最短路径floyd算法数据结构java版第3版dijkstraab10dac50abc25dabd47abce30dabced41abcef3850201037201511501010153715111511内容
数据结构自测题(带答案)2013-11-28
第一章概论一、填空题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。
2. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。
3. 数据结构包括数据的逻辑结构、数据的物理结构和数据的运算这三个方面的内容。
4. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。
5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。
6.在线性结构中,第一个结点无前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点无后续结点,其余每个结点有且只有1个后续结点。
7. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有 1 个前驱结点;叶子结点没有后继结点,其余每个结点的后续结点数可以有多个后继。
8. 在图形结构中,每个结点的前驱结点数和后续结点数可以有多个。
9. 一个算法的效率可分为时间效率和空间效率。
10.数据之间的关系在计算机中有两种不同的表示方法,即顺序映像和非顺序映像。
11.算法的五个重要特性是输入性、输出性、有穷性、可行性和确定性。
12.数据项是数据的不可分割的最小单位。
13.算法分析的两个主要方面是时间复杂度和空间复杂度。
14.数据元素是数据的基本单位,15.对于给定的n个元素,可以构造的逻辑结构有线性,集合,树型,图型等4种。
16.数据结构包括数据的集合、数据的关系和数据的运算这三个方面的内容。
17.数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。
二、单项选择题(B)1. 非线性结构是数据元素之间存在一种:A)一对多关系B)多对多关系C)多对一关系D)一对一关系( C )2. 数据结构中,与所使用的计算机无关的是数据的结构;A) 存储B) 物理C) 逻辑D) 物理和存储( C )3. 算法分析的目的是:A) 找出数据结构的合理性B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进D) 分析算法的易懂性和文档性( A )4. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性B) 正确性和简明性C) 可读性和文档性D) 数据复杂性和程序复杂性(C)5. 计算机算法指的是:A) 计算方法B) 排序方法C) 解决问题的有限运算序列D) 调度方法(B)6. 计算机算法必须具备输入、输出和等5个特性。
2013级JAV期末复习提纲
2013级Java期末复习大纲考试题型和分值:1、选择题 (每题1分,20题,共20分)2、判断题 (每题1分,10题,共10分)3、填空题 (每题2分,7题,共20分)4、简答题(4题,共20分)5、程序题(3题,共30分)程序练习:1.编程实现:求出一组数中的最大数和最小数。
2.提示用户输入1—10的字符,然后判断这个整数的奇偶性。
3.编写一个Java应用程序:从键盘输入一个3位的整数,然后计算并输出各位数字之和。
4. 用do while语句求100+99+98+……+1的值5.编写一个Java程序,在程序中建立一个窗口,有二个文本框和一个按钮,单击按钮,能把左边文本框的内容复制到右边文本框中。
运行效果如下图所示。
6.编写一个Java程序,在程序中建立一个窗口,有四个文本框、两个按钮,单击“求和”按钮,能把第一个和第二个文本框的整数相加后结果显示在第三个文本框中,点击“复制”按钮,能将第三个文本框的内容复制到第四个文本框中,最后还可以正常关闭窗口。
运行效果如下图所示:简答复习题1、什么是类?什么是对象?类和对象有什么关系类是该类事物描述抽象上的概念对象是实际存在属该类事物上的具体上的个体2、阐述构造方法的用途和特点用途:对对象成员进行初始化对象成员的方法特点:1.没有返回值,所以不用void2.类名与方法名相同3.不是由编程人员直接调用,而是用new调用4.当对象创建的时候,系统会自动跳动该类的构造方法进行初始化工作5.完成对类对象的初始化工作3、简述Java语言中方法的重载和方法的覆盖有何区别重载:同一类内定义名称一样,参数个数和类型不同方法覆盖:子类中,定义名称,参数个数和类型均已父类相同方法,用于称谢父类同名方法功能3、简述抽象类与接口的异同点同:同时具有数据成员和抽象方法异:1.接口的数据成员必须要初始化呀2.接口中的方法必须声明为abstact,方法必须死抽象方法。
抽象类可以有抽象方法也可以有一般方法4、简述Java语言的委托事件模型当事件发生的时候,产生时间的对象即事件源,会将此信息转给事件监听者方式第1章 Java语言概述1. Java语言的发展。
2013年湖北省数据整理加强
1、二叉树的层次遍历序列的第一个结点是二叉树的根。
实际上,层次遍历序列中的每个结点都是“局部根”。
确定根后,到二叉树的中序序列中,查到该结点,该结点将二叉树分为“左根右”三部分。
若左、右子树均有,则层次序列根结点的后面应是左右子树的根;若中序序列中只有左子树或只有右子树,则在层次序列的根结点后也只有左子树的根或右子树的根。
这样,定义一个全局变量指针R,指向层次序列待处理元素。
算法中先处理根结点,将根结点和左右子女的信息入队列。
然后,在队列不空的条件下,循环处理二叉树的结点。
队列中元素的数据结构定义如下:typedef struct{ int lvl; //层次序列指针,总是指向当前“根结点”在层次序列中的位置int l,h; //中序序列的下上界int f; //层次序列中当前“根结点”的双亲结点的指针int lr; // 1—双亲的左子树 2—双亲的右子树}qnode;BiTree Creat(datatype in[],level[],int n)//由二叉树的层次序列level[n]和中序序列in[n]生成二叉树。
n是二叉树的结点数{if (n<1) {printf(“参数错误\n”); exit(0);}qnode s,Q[]; //Q是元素为qnode类型的队列,容量足够大init(Q); int R=0; //R是层次序列指针,指向当前待处理的结点BiTree p=(BiTree)malloc(sizeof(BiNode)); //生成根结点p->data=level[0]; p->lchild=null; p->rchild=null; //填写该结点数据for (i=0; i<n; i++) //在中序序列中查找根结点,然后,左右子女信息入队列if (in[i]==level[0]) break;if (i==0) //根结点无左子树,遍历序列的1—n-1是右子树{p->lchild=null;s.lvl=++R; s.l=i+1; s.h=n-1; s.f=p; s.lr=2; enqueue(Q,s);}else if (i==n-1) //根结点无右子树,遍历序列的1—n-1是左子树{p->rchild=null;s.lvl=++R; s.l=1; s.h=i-1; s.f=p; s.lr=1; enqueue(Q,s);}else //根结点有左子树和右子树{s.lvl=++R; s.l=0; s.h=i-1; s.f=p; s.lr=1;enqueue(Q,s);//左子树有关信息入队列s.lvl=++R; s.l=i+1;s.h=n-1;s.f=p; s.lr=2;enqueue(Q,s);//右子树有关信息入队列}while (!empty(Q)) //当队列不空,进行循环,构造二叉树的左右子树{ s=delqueue(Q); father=s.f;for (i=s.l; i<=s.h; i++)if (in[i]==level[s.lvl]) break;p=(bitreptr)malloc(sizeof(binode)); //申请结点空间p->data=level[s.lvl]; p->lchild=null; p->rchild=null; //填写该结点数据if (s.lr==1) father->lchild=p;else father->rchild=p; //让双亲的子女指针指向该结点if (i==s.l){p->lchild=null; //处理无左子女s.lvl=++R; s.l=i+1; s.f=p; s.lr=2; enqueue(Q,s);}else if (i==s.h){p->rchild=null; //处理无右子女s.lvl=++R; s.h=i-1; s.f=p; s.lr=1; enqueue(Q,s);}else{s.lvl=++R; s.h=i-1; s.f=p; s.lr=1; enqueue(Q,s);//左子树有关信息入队列s.lvl=++R; s.l=i+1; s.f=p; s.lr=2; enqueue(Q,s); //右子树有关信息入队列}}//结束while (!empty(Q))return(p);}//算法结束2、因为后序遍历栈中保留当前结点的祖先的信息,用一变量保存栈的最高栈顶指针,每当退栈时,栈顶指针高于保存最高栈顶指针的值时,则将该栈倒入辅助栈中,辅助栈始终保存最长路径长度上的结点,直至后序遍历完毕,则辅助栈中内容即为所求。
java数据结构测试题及答案解析
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的成员变量和方法,子类可以重写父类的方法,及命名与父类同名的成员变量。
子类通过隐藏父类的成员变量和重写父类的方法,把父类的状态和行为改变为自身的状态和行为。
注意:子类中重写的方法和父类中被重写的方法要具有相同的名字,相同的参数表和相同的返回类型,只是函数体不同。
由于子类继承了父类所有的属性(私有的除外),所以子类对象可以作为父类对象使用。
程序中凡是使用父类对象的地方,都可以用子类对象来代替。
一个对象可以通过引用子类的实例来调用子类的方法。
02331数据结构2013年1 月份历年真题附答案
2013年1月高等教育自学考试全国统一命题考试数据结构试题课程代码:02331考生答题注意事项:1.本卷所有试卷必须在答题卡上作答。
答在试卷和草稿纸上的无效。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹笔作答。
4.合理安排答题空间,超出答题区域无效。
选择题部分一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.数据的逻辑结构可以分为A.动态结构和静态结构 B.顺序结构和链式结构C.线性结构和非线性结构 D.简单结构和构造结构2.线性表是一个有限序列,组成线性表的基本单位是A.数据项 B.数据元素C.数据域 D.字符3.栈中有a、b和c三个元素,a是栈底元素,c是栈顶元素,元素d等待进栈,则不可..能.的出栈序列是A.dcba B.cbdaC.cadb D.cdba4.稀疏矩阵的三元组表是A.顺序存储结构 B.链式存储结构C.索引存储结构 D.散列表存储结构5.已知广义表G,head(G)与tail(G)的深度均为6,则G的深度是A.5 B.6C.7 D.86.下列编码集合中,属于前缀编码的一组是A.{11,10,001,101,0001}B.{00,010,0110,1000}C.{11,01,001,0101,0001}D.{0,10,110,1011}7.如题7图所示二叉树的中序序列为A.ACDBB.DCBAC.CDBAD.ABCD题7图8.有向图中所有顶点入度之和与所有顶点出度之和的比是A.1/2 B.1C.2 D.49.含有n个顶点和e条边的有向图的邻接矩阵中,零元素的个数是A.eB.2eC.n2-2eD.n2-e10.n个顶点的无向连通图,其生成树的边数为A.n-lB.nC.n+lD.nlogn11.用自底向上的冒泡排序方法对序列(8,13,26,55,29,44)从大到小排序,第一趟排序需进行交换的次数为A.2 B.3C.4 D.512.对序列(8,13,26,55,29,44)从小到大进行基数排序,第一趟排序的结果是A.(13,44,55,26,8,29)B.(13,26,55,44,8,29)C.(8,13,26,29,44,55)D.(29,26,8,44,55,13)13.采用分块查找时,要求数据A.块内有序 B.分块有序C.分块无序 D.每块中数据个数必须相同14.下列关于散列函数的说法正确的是A.散列函数越复杂越好B.散列函数越简单越好C.用除余法构造的散列函数是最好的D.在冲突尽可能少的情况下,散列函数越简单越好15.下列关于m阶B树的叙述中,错误..的是A.每个结点至多有m棵子树B.每个结点至多有m-1个关键字 C .所有的叶结点均在同一层上 D.根结点至少有/2m ⎡⎤⎢⎥棵子树非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
数据结构复习资料,java数据结构期末考试
第二章算法分析1.算法分析是计算机科学的基础2.增长函数表示问题(n)大小与我们希望最优化的值之间的关系。
该函数表示了该算法的时间复杂度或空间复杂度。
增长函数表示与该问题大小相对应的时间或空间的使用3.渐进复杂度:随着n的增加时增长函数的一般性质,这一特性基于该表达式的主项,即n 增加时表达式中增长最快的那一项。
4.渐进复杂度称为算法的阶次,算法的阶次是忽略该算法的增长函数中的常量和其他次要项,只保留主项而得出来的。
算法的阶次为增长函数提供了一个上界。
5.渐进复杂度:增长函数的界限,由增长函数的主项确定的。
渐进复杂度类似的函数,归为相同类型的函数。
6.只有可运行的语句才会增加时间复杂度。
7. O() 或者大O记法:与问题大小无关、执行时间恒定的增长函数称为具有O(1)的复杂8.所有具有相同阶次的算法,从运行效率的角度来说都是等价的。
9.如果算法的运行效率低,从长远来说,使用更快的处理器也无济于事。
10.要分析循环运行,首先要确定该循环体的阶次n,然后用该循环要运行的次数乘以它。
(n表示的是问题的大小)11.分析嵌套循环的复杂度时,必须将内层和外层循环都考虑进来。
12.方法调用的复杂度分析:如:public void printsum(int count){int sum = 0 ;for (int I = 1 ; I < count ; I++)sum += I ;System.out.println(sun);}printsum方法的复杂度为O(n),计算调用该方法的初始循环的时间复杂度,只需把printsum方法的复杂度乘以该循环运行的次数即可。
所以调用上面实现的printsum方法的复杂度为O(n2)。
13指数函数增长 > 幂函数增长 > 对数函数增长第三章集合概述——栈1.集合是一种聚集、组织了其他对象的对象。
它定义了一种特定的方式,可以访问、管理所包含的对象(称为该集合的元素)。
2013湖北省JAVA版数据结构(必备资料)
21、下面程序段的时间复杂度是( 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)
C)部分地址必须是连续 D)必须是不连续的
25、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
26、栈进行插入和删除操作的特点是( A )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
5、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
A)3,2,5,6,4,1 B)1,5,4,6,2,3
C)2,4,3,5,1,6 D)4,5,3,6,2,1
6、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
7、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
A)顺序表 B)双链表 C)带头结点的双循环链表 D)单循环链表
8、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
9、栈进行插入和删除操作的特点是( A )。
数据结构复习题2013新版
数据结构复习参考题资料计算机科学与技术专业2013.7第一章绪论一、选择题:1、在数据结构的讨论中把数据结构从逻辑上分为( C )。
A、内部结构与外部结构B、静态结构与动态结构C、线性结构与非线性结构D、紧凑结构与非紧凑结构2、下面程序段的时间复杂度为( C )。
for(int i=0;i<m;i++)for(int j=0;j<n;j++)a[i][j]=i*j;A、O(m2)B、O(n2)C、O(m*n)D、O(m+n)3、执行下面程序段时,执行S语句的次数为( D )。
for(int i=1;i<=n;i++)for(int j=1; j<=i;j++)S;A、n2B、n2/2C、n(n+1)D、n(n+1)/24、某算法的时间代价为T(n)=100n+10nLog2n+n2+10,其时间复杂度为(C)。
A、O(n)B、O(nlog2n)C、O(n2) D 、O(1)二、填空题1、数据结构的抽象数据类型ADT可用三元组表示(D,S,P),其中D是(数据对象),S是( 关系集),P是( 操作集)。
2、数据的基本单位是( 数据元素),最小单位是( 数据项)。
3、一个算法的时间复杂性通常用它的( T(n)=O(F(n)) )形式表示,当一个算法的时间复杂性与问题的规模n大小无关时,则表示为( O(1) );成正比时,则表示为( O(n) ) ;成对数关系时,则表示为(O(log2n) );成平方关系时,则表示为( O(n2) )。
4、我们常常称数据的逻辑结构为数据结构,数据的逻辑结构有两类:(线性结构),(非线性结构)。
5、一个算法应该具有(有穷性)、(确定性)、(可行性)、( 零个或多个输入)、(一个或多个输出)五个特征。
6、数据结构中的逻辑结构具体分为四种分别是(线性结构)(树型结构)(图或网型结构)(集合)。
7、数据结构中的存储结构具体分为二种分别是(顺序存储结构)(链式存储结构)。
《数据结构(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 题)
(完整版)数据结构试题及答案
(完整版)数据结构试题及答案《数据结构》自考复习思考试题○10一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 若将数据结构形式定义为二元组(K,R),其中K是数据元素的有限集合,则R是K上( ) A. 操作的有限集合 B. 映象的有限集合C. 类型的有限集合D. 关系的有限集合2. 在长度为n的顺序表中删除第i个元素(1≤i≤n)时,元素移动的次数为( )A. n-i+1B. iC. i+1D. n-i3. 若不带头结点的单链表的头指针为head,则该链表为空的判定条件是( )A. head==NULLB. head->next==NULLC. head!=NULLD. head->next==head4. 引起循环队列队头位置发生变化的操作是( )A. 出队B. 入队C. 取队头元素D. 取队尾元素5. 若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则不.可能出现的出栈序列是( )A. 2,4,3,1,5,6B. 3,2,4,1,6,5C. 4,3,2,1,5,6D. 2,3,5,1,6,46. 字符串通常采用的两种存储方式是( )A. 散列存储和索引存储B. 索引存储和链式存储C. 顺序存储和链式存储D. 散列存储和顺序存储7. 设主串长为n,模式串长为m(m≤n),则在匹配失败情况下,朴素匹配算法进行的无效位移次数为( )A. mB. n-mC. n-m+1D. n8. 二维数组A[12][18]采用列优先的存储方法,若每个元素各占3个存储单元,且第1个元素的地址为150,则元素A[9][7]的地址为( )A. 429B. 432.C. 435D. 4389. 对广义表L=((a,b),(c,d),(e,f))执行操作tail(tail(L))的结果是( )A. (e,f)B. ((e,f))C. (f)D. ( )10. 下列图示的顺序存储结构表示的二叉树是( )11. n个顶点的强连通图中至少含有( )A. n-1条有向边B. n条有向边C. n(n-1)/2条有向边D. n(n-1)条有向边12. 对关键字序列(56,23,78,92,88,67,19,34)进行增量为3的一趟希尔排序的结果为( )A. (19,23,56,34,78,67,88,92)B. (23,56,78,66,88,92,19,34)C. (19,23,34,56,67,78,88,92)D. (19,23,67,56,34,78,92,88)13. 若在9阶B-树中插入关键字引起结点分裂,则该结点在插入前含有的关键字个数为( ) A. 4 B. 5C. 8D. 914. 由同一关键字集合构造的各棵二叉排序树( )A. 其形态不一定相同,但平均查找长度相同B. 其形态不一定相同,平均查找长度也不一定相同C. 其形态均相同,但平均查找长度不一定相同.D. 其形态均相同,平均查找长度也都相同15. ISAM文件和VSAM文件的区别之一是( )A. 前者是索引顺序文件,后者是索引非顺序文件B. 前者只能进行顺序存取,后者只能进行随机存取C. 前者建立静态索引结构,后者建立动态索引结构D. 前者的存储介质是磁盘,后者的存储介质不是磁盘二、填空题(本大题共10小题,每空2分,共20分)16. 数据的逻辑结构在计算机存储器内的表示,称为数据的____________。
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面教材试真经2013版
} public BigInteger subtract(BigInteger other) {
} public BigInteger multiply(BigInteger other){
10、使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
使用 final 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句: final StringBuffer a=new StringBuffer("immutable"); 执行如下语句将报告编译期错误: a=new StringBuffer(""); 但是,执行如下语句则可以通过编译: a.append(" broken!");
} public BigInteger divide(BigInteger other){
}Hale Waihona Puke } 备注:要想写出这个类的完整代码,是非常复杂的,如果有兴趣的话,可以参看 jdk 中自带的 java.math.BigInteger 类的源码。面试的人也知道谁都不可能在短时间内写出这个类的完整代码的,他要 的是你是否有这方面的概念和意识,他最重要的还是考查你的能力,所以,你不要因为自己无法写出完整的最终结果就放弃答这道题,你要做的就是你比别人写得多,证明你比别人强,你有这方面的 思想意识就可以了,毕竟别人可能连题目的意思都看不懂,什么都没写,你要敢于答这道题,即使只答了一部分,那也与那些什么都不懂的人区别出来,拉开了距离,算是矮子中的高个,机会当然就 属于你了。另外,答案中的框架代码也很重要,体现了一些面向对象设计的功底,特别是其中的方法命名很专业,用的英文单词很精准,这也是能力、经验、专业性、英语水平等多个方面的体现,会 给人留下很好的印象,在编程能力和其他方面条件差不多的情况下,英语好除了可以使你获得更多机会外,薪水可以高出一千元。
数据结构(Java)复习题及答案 1绪论
一、单项选择题( B )1. 计算机算法必须具备输入、输出和 等5个特性。
A) 可行性、可移植性和可扩充性 B) 可行性、确定性和有穷性C) 确定性、有穷性和稳定性 D) 易读性、稳定性和安全性( C )2. 数据结构中,与所使用的计算机无关的是数据的 结构;A) 存储 B) 物理 C) 逻辑 D) 物理和存储( C )3. 算法分析的目的是:A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性( A )4. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性 B) 正确性和简明性C) 可读性和文档性 D) 数据复杂性和程序复杂性( C )5. 计算机算法指的是:A) 计算方法 B) 排序方法 C) 解决问题的有限运算序列 D) 调度方法6.数据结构是研究数据的(A)和(B)以及它们之间的相互关系,并对这种结构定义相应的 (C),设计出相应的(D),从而确保经过这些运算后所得到的新结构是(E)结构类型。
供选择的答案A.B: 1.理想结构 2.抽象结构 3.物理结构 4逻辑结构C.D.E: 1.运算 2.算法 3.结构 4.规则 5.现在的 6.原来的解答:341267.(A)是描述客观事物的数、字符以及所有能输入到计算机中被计算机程序加工处理的符号的结合。
(B)是数据的基本单位,即数据结合中的个体。
有时一个(B)由若干个 (C)组成,在这种情况下,称(B)为记录。
(C)是数据的最小单位。
(D)是具有相同特性的数据元素的集合。
(E)是带有结构特性的数据元素的结合。
被计算机加工的数据元素不是孤立无关的,它们彼此之间一般存在着某种联系,通常将数据元素的这种联系关系称为 (G)。
算法的计算量和问题规模的联系用(H)表示。
供选择的答案:A-F: 1.数据元素 2.符号 3.记录 4.文件 5.数据 6.数据项 7.数据对象 8.关键字 9.数据结构G: 1.规则 2.集合 3.结构 4.运算H: 1.现实性 2.难度 3.复杂性 4.效率解答:5167933二、判断题1, 数据元素是数据的最小单位。
数据结构与算法试卷(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)。
1、下列各种数据结构中属于线性结构的有( A )。
A)栈 B) 二叉树
C) 广义表 D) 图
2、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( 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)))))
3、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
4、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
5、与无向图相关的术语有( C )。
A)强连通图 B)入度
C)路径 D)弧
6、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( 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)))))
7、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
A)4 B)5
C)6 D)7
8、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
A)loc(A1)+i*c B)loc(A1)+(i-1)*c
C)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c
9、链式存储的存储结构所占存储空间( A )。
A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B)只有一部分,存放结点值
C)只有一部分,存储表示结点间关系的指针
D)分两部分,一部分存放结点值,另一部分存放结点所占单元数
10、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
11、以下属于顺序存储结构优点的是( A )。
A) 存储密度大B) 插入运算方便
C)删除运算方便D)可方便地用于各种逻辑结构的存储表示
12、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++
13、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
14、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
15、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边。