2012黑龙江省JAVA版数据结构考资料
2012年数据结构期末考试题及答案
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)。
s =0;for(I =0;i<n;i++)for(j=0;j<n;j++)s +=B[i][j];sum =s ;9.下面程序段的时间复杂度是O(n*m)。
for(i =0;i<n;i++)for(j=0;j<m;j++)A[i][j] =0;10.下面程序段的时间复杂度是O(log3n)。
i =0;while(i<=n)i =i * 3;11.在以下的叙述中,正确的是B。
A.线性表的顺序存储结构优于链表存储结构B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是先进后出12.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着 B 。
全国计算机等级考试二级JAVA真题2012年3月
全国计算机等级考试二级JAVA真题2012年3月(总分:100.00,做题时间:90分钟)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
(总题数:35,分数:70.00)1.下列关于栈序正确的是(分数:2.00)A.栈顶元素最先能被删除√B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.以上三种说法都不对解析:2.下列叙述中正确的是(分数:2.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构√C.循环链表是非线性结构D.双向链表是非线性结构解析:3.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)(分数:2.00)A.3B.4C.6D.7 √解析:4.在软件开发中,需求分析阶段产生的主要文档是(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书√解析:5.结构化程序所要求的基本结构不包括(分数:2.00)A.顺序结构B.GOTO跳转√C.选择(分支)结构D.重复(循环)结构解析:6.下面描述中错误的是(分数:2.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程√C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具解析:7.负责数据库中查询操作的数据库语言是(分数:2.00)A.数据定义语言B.数据管理语言C.数据操纵语言√D.数据控制语言解析:8.一个教师可讲授多问课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是(分数:2.00)A.1:1联系B.1:m联系C.m:1联系D.m:n联系√解析:9.有三个关系R、S和T如下:R和S得到关系T的操作是(分数:2.00)A.自然连接√B.交C.除D.并解析:10.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是(分数:2.00)A.-369B.369 √C.0.369D.整数集合{1,2,3,4,5}解析:11.下列关于面向对象的论述中,正确的是(分数:2.00)A.面向对象是指以对象为中心,分析、设计和实现应用程序的机制√B.面向对象是指以功能为中心,分析、设计和实现应用程序的机制C.面向对象仅适用于程序设计阶段D.面向对象是一种程序设计语言解析:12.语句”Hello”.equals(“hello”);的正确执行结果是(分数:2.00)A.trueB.false √C.0D.1解析:13.下列关于Java源程序结构的论述中,正确是(分数:2.00)A.一个文件包含的import语句最多1个B.一个文件包含的public类最多1个√C.一个文件包含的接口定义最多1个D.一个文件包含的类定义最多1个解析:14.下列不属于Java关键字的是(分数:2.00)A.thisB.superC.finallyD.NULL √解析:15.下列代码的执行结果是 public class Test { public static void main(String[] args) { int[] x={0,1,2,3}; for(int i=0;i(分数:2.00)A.error1B.error2C.error1error2 √D.2error2解析:16.下列整数的定义中,错误的是(分数:2.00)A.int f=3.14; √B.int a=012;C.int i=189;D.int d-0x123;解析:17.要得到某目录下的所有文件名,在下列代码的下划线处应填入的内容是(两个下划线的内容相同)________pathname = new________(args[0]); String[] filename = pathname.list();(分数:2.00)A.FileInputStreamB.FileOutputStreamC.File √D.RandomAccessFile解析:18.在下列代码的下划线处应填入的内容是 public class FirstSample { public static voidmain(________args[]) { System.out.println("你好!"); } } }(分数:2.00)A.staffB.doubleC.intD.String √解析:19.Object类中的方法public int hashCode(),在其子类覆盖该方法时,其方法修饰符可以是(分数:2.00)A.protectedB.public √C.privateD.缺省解析:20.下面代码中的内部类名是 import java.awt*; import javax.swing.*; class TalkingClock { public static void main(int interval,final boolean beep) { ActionListener listener = new ActionListener(){ public void actionPerformed(ActionEvent event){ ________ } } Timer t = new Timer(interval,listener); t.start(); } }(分数:2.00)A.TimerB.ActionListenerC.listenerD.匿名√解析:21.已知zipname是一个压缩文件名,则zipname在下列代码中出现的正确位置是ZipInPutStream zin =new ZipInPutStream(new FileInPutStream(①)); ZipEnatry entry; While((entry =zin.getNextEntry(②))!=null{ fileCombo.addItem(entry.getName(③)); zin.closeEntry(④); } Zin.close();(分数:2.00)A.①√B.②C.③D.④解析:22.下列代码的执行结果是 int numbers[]=new int[6]; for(int i=1;i(分数:2.00)A.0 1 2 3 4 5B.1 2 3 4 5 6C.0 1 2 3 4 √D.1 2 3 4 5解析:23.Java API中支持线程的类或接口是Ⅰng.Thread Ⅱng.RunnableⅢng.ThreadGroup Ⅳ.java.io.Serializable(分数:2.00)A.Ⅰ,ⅡB.Ⅰ,Ⅱ,ⅢC.Ⅰ,Ⅱ,ⅣD.Ⅰ,Ⅱ,Ⅲ,Ⅳ√解析:24.下列关于Test类的定义中,正确的是(分数:2.00)A.class Test implements Runnable {public void run(){}public void someMethod(){}} √B.class Test implements Runnable {public void run();}C.class Test implements Runnable {public void someMethod();}D.class Test implements Runnable {public void someMethod(){}}解析:25.下列方法被调用后,一定使调用线程改变当前状态的是(分数:2.00)A.notify()B.yield() √C.sleep()D.isAlive()解析:26.在堆栈类SharedStack的定义中,为了保证堆栈在并发操作中数据的正确性,应在下划线处填入的修饰符是(两个下划线的填写内容相同) public class SharedStack { ________int idx=0; ________char[] data= new char[10]; public synchronized void push(char c) {________} public synchronized void pop(){________} }(分数:2.00)A.public √B.不使用修饰符C.privateD.protected解析:27.下列代码编译或执行结果的描述中,正确的是 class Test{ public static void main(Stringargs[]){ TestThread pm1 = new TestThread("One"); pm1.start(); TestThread pm2 = new TestThread("Two"); pm2.start(); } } class TestThread extends Thread{ private String sTname=""; TestThread(String s){ sTname = s; } public void run(){ for(int i=0;i(分数:2.00)A.不能通过编译,TestThread类中不能定义变量和构造方法B.输出 One One Two TwoC.输出 Two One One TwoD.选项B或C都有可能出现√解析:28.下列关于Applet的叙述中,正确的是(分数:2.00)A.为了使Applet在浏览器中运行,需要在HTML文件中嵌入相应的Applet类√B.Applet不能使用从外部接收参数C.Applet不能使用javac 命令进行编译D.java Application 与Applet都必须包含main()方法解析:29.下列代码的下划线处应填入的方法名是 import java.applet.*; import java.awt.*; public class Hello extends Applet { public void ________(Graphics g){ g.drawString("How are you!", 10, 10); } } (分数:2.00)A.repaintB.printlnC.paint √D.show解析:30.下列变量的定义中,错误的是(分数:2.00)A.int x=3;B.float f;d; √C.String s=”Hello!”D.boolean b=true;解析:31.下列代码的执行结果是 int length = "Hello".length(); System.out.println(length);(分数:2.00)A.5 √B.2C.10D.6解析:32.下列代码的编译或执行结果是public class MyVal { public static void main(String[] args) { MyVal m = new MyVal(); m.aMethod(); } public void aMethod(){ boolean [] b = new Boolean [5]; System.out.println(b[0]); } }(分数:2.00)A.1B.nullC.0D.编译错误√解析:33.若变量a是String类型的数据,那么表达式(a+a)的类型是(分数:2.00)A.charB.String √C.intD.long解析:ponent类中用于刷新组件的方法是(分数:2.00)A.getFontB.getNameC.update √D.paint解析:35.鼠标在窗口中移动时,产生的事件是(分数:2.00)A.ActionEventB.PrintEventC.KeyEventD.MouseEvent √解析:二、填空题(每空2分,共30分) (总题数:15,分数:30.00)36.有序线性表能进行二分查找的前提是该线性表必须是 1存储的。
2012年黑龙江省数据库入门入门
1、因为后序遍历栈中保留当前结点的祖先的信息,用一变量保存栈的最高栈顶指针,每当退栈时,栈顶指针高于保存最高栈顶指针的值时,则将该栈倒入辅助栈中,辅助栈始终保存最长路径长度上的结点,直至后序遍历完毕,则辅助栈中内容即为所求。
void LongestPath(BiTree bt)//求二叉树中的第一条最长路径长度{BiTree p=bt,l[],s[]; //l, s是栈,元素是二叉树结点指针,l中保留当前最长路径中的结点int i,top=0,tag[],longest=0;while(p || top>0){ while(p) {s[++top]=p;tag[top]=0; p=p->Lc;} //沿左分枝向下if(tag[top]==1) //当前结点的右分枝已遍历{if(!s[top]->Lc && !s[top]->Rc) //只有到叶子结点时,才查看路径长度if(top>longest) {for(i=1;i<=top;i++) l[i]=s[i]; longest=top; top--;}//保留当前最长路径到l栈,记住最高栈顶指针,退栈}else if(top>0) {tag[top]=1; p=s[top].Rc;} //沿右子分枝向下}//while(p!=null||top>0)}//结束LongestPath2、对二叉树的某层上的结点进行运算,采用队列结构按层次遍历最适宜。
int LeafKlevel(BiTree bt, int k) //求二叉树bt 的第k(k>1) 层上叶子结点个数{if(bt==null || k<1) return(0);BiTree p=bt,Q[]; //Q是队列,元素是二叉树结点指针,容量足够大int front=0,rear=1,leaf=0; //front 和rear是队头和队尾指针, leaf是叶子结点数int last=1,level=1; Q[1]=p; //last是二叉树同层最右结点的指针,level 是二叉树的层数while(front<=rear){p=Q[++front];if(level==k && !p->lchild && !p->rchild) leaf++; //叶子结点if(p->lchild) Q[++rear]=p->lchild; //左子女入队if(p->rchild) Q[++rear]=p->rchild; //右子女入队if(front==last) {level++; //二叉树同层最右结点已处理,层数增1last=rear; } //last移到指向下层最右一元素if(level>k) return (leaf); //层数大于k 后退出运行}//while }//结束LeafKLevel。
2012年黑龙江省数据整理入门
3、设一棵树T中边的集合为{(A,B),(A,C),(A,D),(B,E),(C,F),(C,的二叉树。
#define MAX 100
typedef struct Node
{char info; struct Node *llink, *rlink; }TNODE;
char pred[MAX],inod[MAX];
main(int argc,int **argv)
{ TNODE *root;
if(argc<3) exit 0;
strcpy(pred,argv[1]); strcpy(inod,argv[2]);
root=restore(pred,inod,strlen(pred));
postorder(root);
}
TNODE *restore(char *ppos,char *ipos,int n)
1、设指针变量p指向双向链表中结点A,指针变量q指向被插入结点B,要求给出在结点A的后面插入结点B的操作序列(设双向链表中结点的两个指针域分别为llink和rlink)。
2、由二叉树的前序遍历和中序遍历序列能确定唯一的一棵二叉树,下面程序的作用是实现由已知某二叉树的前序遍历和中序遍历序列,生成一棵用二叉链表表示的二叉树并打印出后序遍历序列,请写出程序所缺的语句。
ptr->llink=restore(ppos+1, (4)_______,k );
ptr->rlink=restore ((5)_______+k,rpos+1,n-1-k);
return ptr;
}
postorder(TNODE*ptr)
2012数据结构_习题及程序设计整理
2012数据结构_习题及程序设计整理疯狂记忆力数据结构是计算机科学中非常重要的一个领域,它主要研究数据的组织、存储和管理方式。
在学习数据结构的过程中,习题和程序设计是提高理解和应用的重要手段。
下面将整理一些2012年的数据结构习题及程序设计内容,帮助读者巩固和深入理解这一领域的知识。
一、线性结构1. 线性表是数据结构中最基本的一种结构,它的特点是元素之间存在一对一的关系,先后次序唯一确定。
请写一个C语言程序,实现线性表的基本操作,包括插入、删除、查找等。
2. 栈是一种特殊的线性表,具有“先进后出”的特点。
设计一个栈,支持判断栈是否为空、入栈和出栈操作,并实现一个简单应用情境,例如操作系统任务的进出栈操作。
3. 队列也是一种特殊的线性表,具有“先进先出”的特点。
设计一个队列,支持判断队列是否为空、入队和出队操作,并实现一个简单应用情境,例如模拟排队等待的场景。
二、非线性结构1. 树是一种重要的非线性结构,它以分层的方式存储数据。
定义一个树的基本数据结构,包括节点的定义、插入节点、删除节点等操作。
2. 图是由节点和边组成的数据结构,用于表示多对多的关系。
请设计一个简单的图结构,实现图的初始化、添加节点、添加边以及遍历等基本操作。
三、查找与排序1. 二分查找是一种常见的查找算法,适用于有序数组。
请编写一个二分查找算法的Java程序,并验证其正确性。
2. 快速排序是一种常见的排序算法,通过分治法实现。
请实现一个快速排序算法的Python程序,并对随机生成的一组数据进行排序。
四、高级数据结构1. 堆是一种完全二叉树,主要用于实现高效的优先队列。
设计一个堆的数据结构,并实现堆排序算法。
2. 哈希表是一种以键值对存储数据的数据结构,通过哈希函数实现高效的数据查找。
请实现一个简单的哈希表,包括哈希函数的设计、数据的插入和查找等操作。
以上是一些2012年的数据结构习题及程序设计内容,涵盖线性结构、非线性结构、查找与排序以及高级数据结构等方面的内容。
2012-2013(2)数据结构A卷及参考答案资料
一、填空题(每空1 分,共10分)1.向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动n-i+1个元素。
2.带有一个头结点的单链表head为空的条件是head->next=head。
3.由带权为9、2、5、7的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为44 。
4.设s=’I︺AM︺A︺TEACHER’,其长度是 14 。
5.二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元并且A[0][0]的存储地址是200,则A[6][12]的地址是326。
6.假设在有序线性表A[1..20]上进行二分查找,则比较一次查找成功的结点数目个数为__ 1__。
7.深度为k的完全二叉树至少有2k-1个结点,至多有2k-1个结点。
8.在无向图G的邻接矩阵A中,若A[i][j]等于1,则A[j][i ]等于1。
9.执行广义表操作GetTail[ GetHead[ ((a,b),(c,d)) ] ]后的结果为(b)。
二、选择题(每小题1分,共10分)1.下列数据中,哪一个是非线性结构?( D )A. 栈B. 队列C. 字符串D. 二叉树2.设P指向单链表的某个节点,在P之后插入一个节点S的操作为( C)A. P->next = S;B. P->next = S->next; S->next = P->next;C. S->next = P->next; P->next = S;D. P->next = S; P = P->next;3.设三个元素的进栈顺序为abc,则下列哪个序列是不可能出现的出栈序列( D)A. abcB. acbC. cbaD. cab4 .假设用块链存储结构表示串,如果每一个块的大小为4个字符(每个字符占用一个字节),一个指针占4个字节,则一个长为15的串需要多少字节的存储空间(C)A. 15B. 20C. 32D. 405.用一维数组存储一个6×6的对称阵A,以行序为主序存储该矩阵的下三角(包括对角线)元素,数组的起始位置为100,每个数组元素占4个字节,那么A[3][6]的存储位置为( A )A. 168B. 140C. 132D. 1086.设一个度为3的树中,度为1,2,3的结点个数分别为2,3,4,则该树中有多少个叶子结点?( D )A. 9B. 10C. 11D. 127.一个AOV网如图1所示,则下列哪一个序列不是该图的拓扑有序序列?( B)图1A. 124359786B. 123459786C. 142357896D. 4132578698.对一个长度为10的有序表进行折半查找,在等概率情况下查找成功的平均查找长度为( A)A. 2.9B. 3.0C. 3.2D. 3.49.下列排序算法中,那个算法是稳定的?( D)A. 希尔排序B. 快速排序C. 堆排序D. 归并排序10.设数据结构A = (D,R)。
数据结构习题课(2012)
数据结构习题课(2012)复习重点1.数据结构的概念,逻辑结构、物理结构的概念及各⾃包含的内容2.算法的特性、设计要求,如何度量算法的时间效率。
3.线性表的顺序/链式存储结构的特点,插⼊、删除算法。
4.栈和队列的逻辑特性,顺序栈的⼊栈/出栈、循环队列的⼊队/出队算法。
5.以三元组顺序表存放的稀疏矩阵的转置算法。
6.⼆叉树的性质及其四种遍历算法。
7.森林与⼆叉树的相互转换。
8.WPL、前缀编码的概念,哈夫曼树的构造算法。
9.图的相关概念,邻接矩阵及邻接表的存储结构。
10.图的深度优先/⼴度优先遍历算法。
11.最⼩⽣成树的两种算法。
12.拓扑排序的意义和算法。
13.最短路径算法。
14.顺序表、有序表的查找算法。
15.⼆叉排序树的性质、插⼊/删除算法、平衡⼆叉树的性质、插⼊算法。
16.哈希表的相关概念,常⽤的冲突处理⽅法。
17.直接插⼊排序、希尔排序、快速排序、堆排序、归并排序的算法。
注意:1.上述每个知识点可能会以任何题型出现,复习的时候别把它们当做“简答题”来复习。
2.红⾊(下划线)标识的知识点或算法,只要求对给出的初始数据,能画出结果则可。
其他的算法则可能会出现在“算法题”中。
⾃测题第1章绪论⼀、判断1.顺序存储⽅式只能⽤于存储线性结构。
(错)2.顺序查找法适⽤于存储结构为顺序或链式存储的线性表。
(对)⼆、选择1.计算机算法必须具备输⼊、输出、( B )等5个特性。
A.可⾏性、可移植性和可扩展性B.可⾏性、确定性和有穷性C.确定性、有穷性和稳定性D.易读性、安全性和稳定性2.算法在发⽣⾮法操作时可以作出处理的特性称为(C )。
A.正确性B.易读性C.健壮性D.可靠性3.数据结构是⼀门研究⾮数值计算的程序设计问题中计算机的(A )以及它们之间的( B )和运算的学科。
A.操作对象B.计算⽅法C.逻辑存储D.数据映像A.结构B.关系C.运算D.算法4.在数据结构中,逻辑上数据结构可分为:(B )A.动态结构和静态结构B.线性结构和⾮线性结构C.紧凑结构和⾮紧凑结构D.内部结构和外部结构5.数据结构主要研究数据的(D )A.逻辑结构B.存储结构C.逻辑结构和存储结构D.逻辑结构和存储结构及其运算的实现6.为了描述n个⼈之间的同学关系,可⽤(C )结构表⽰A.线性表B.树C.图D.队列7.下⾯的程序段违反了算法的(A )原则void sam(){ int n=2;while (!odd(n)) n+=2;printf(n);}A.有穷性B.确定性C.可⾏性D.健壮性三、问答1.什么是逻辑结构和物理结构?各⾃包含哪⼏种?2.线性结构和树型结构的特点分别是什么?3.简述顺序存储结构与链式存储结构在表⽰数据元素之间关系上的只要区别。
2012数据结构复习
2012上《数据结构》复习提纲第1章绪论数据结构的研究目的和研究内容;有关术语;算法、算法复杂度的分析和计算方法例题:1.下面算法的时间复杂度为O( n )。
int f( unsigned int n ){if ( n = = 0 || n = = 1 ) return 1;else returen n *f ( n – 1 ); }2.一个算法应具备的5个特性为有穷性、确定性、可行性、输入、输出3.同类问题见第一次作业第2-3章线性表,栈和队列线性表的概念、存储结构、插入与删除操作;栈和队列的概念,理解栈顶指针、队首、队尾指针的意义和作用,特别是循环队列的头、尾指针的设置。
为什么要这样设置。
它们基本操作的实现。
判空和判满?了解有关应用。
例题:1.已知指针p所指结点不是尾结点,若在*p之后插入结点*S,则应执行和操作是s- >link =p->link; p->link =s;2.同类问题:在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p之间插入一个s所指的结点,则执行的语句?(答:q->next=s; s->next=p);注意在某个已知结点前插需要执行的语句?3.注意循环(链)队列的判空和判满的条件?(看书理解!)4.在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是s->prior=p; s->next=p->next;p->next->prior=s; p->next=s;5.设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为p->next=p->next->next。
6.在一个具有n个结点的有序单链表中插入一个新结点并保持该表有序的时间复杂度是O(n)。
7.向一个栈顶指针为hs的链栈中插入一个s结点时,应执行s->next=hs; hs=s;。
《数据结构(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 题)
Java基础面试题(2012完整版)
第一部分 Java的类1.请解释Java语言的跨平台特性。
解析:虽然不知道什么是跨平台也可以使用Java语言进行编程,但是对于一个Java编程员来说,理解跨平台特性能够更深入掌握Java语言,所以企业中往往要求应聘者至少理解这个特性。
参考答案:Java的跨平台特性也被称为可移植性、平台无关性,或者一次编写处处运行。
他的意思就是如果用Java语言编写一个应用,那么就可以在不同平台上运行,而不需要为不同平台单独运行开发。
之所以能实现跨平台的特性。
主要得益于Java虚拟机(JVM),JVM 解释器在运行Java应用时根据当前平台进行解释,解释成符合当前平台规范的机器码,所以可以实现同样的应用在不同平台上都能运行。
2.请列举JAVA语言的主要特点解析:了解一门语言,往往从熟悉该语言的主要特点开始入手,所以企业也常常通过应聘者对JAVA语言特点的掌握程度而判断其语言基础是否扎实。
参考答案:JAVA语言有很多特点,主要包括①跨平台性:一个应用可以不经过修改直接运行到不同的平台上。
②面向对象:JAVA语言是一门面向对面的语言,可以使用对象的属性和行为,可以使用面向对象的思想进行分析设计,并实现整个应用。
③解释执行JAVA应用时,JVM中的解释器将解释类文件,生成符合当前平台的字节码。
④自动回收:JAVA应用中的垃圾回收是自动进行的,JVM中的后台线程将监视内存中数据的使用,当内存中的数据不再被引用时,将被作为垃圾回收,而不需要程序员动手回收。
3.请说明一个JAVA类中主要包含哪几个元素?并说明每种元素的作用。
解析:无论简单还是复杂的JAVA应用,都是由若干个类组成,所以类是JAVA应用的组成单位。
了解一个类中包含的主要元素能够对类有一个清晰的认识。
一个类中往往会有五种元素,即属性、方法、构造方法、块以及内部类、其实块和内部类比较少见。
参考答案:JAVA类中主要包含属性、方法、构造方法、块以及内部类。
属性用来定义对象的数据;方法用来定义对象的行为;构造方法可以用来创建对象;块能够用来在类加载时执行操作或者在每次实例化前执行通用操作;内部类作为类的一个成员存在,能够访问外部类的属性和方法。
2012数据结构_习题及程序设计整理
第二章1、首尾顺序逆置2、找出顺序表中最大值和最小值及位置3、头插法算法4、尾插法:5、带头结点的单链表,向表头插入一个结点:6、单链表中查找第i个结点:8、单链表删除操作:9、重要习题,头结点与尾结点互换:10、重要习题,一个单链表拆为两个奇偶单链表:试写一个算法,将一个头结点为a的带头结点的单链表A分解成两个单链表A和B,其中头结点指针分别为a和b,使得A链表中含有原链表A中序号为奇数的元素,而B链表中含有原链表中序号为偶数的元素,并保持原来的相对顺序。
11、循环链表插入结点后仍然保持有序:12、重要习题(删除表中所有数值相同的多余元素):13、双向链表的删除操作:14、双向链表的插入操作:在带头结点的双向循环链表中插入一个新结点,需要修改的指针数量是4个。
包括新插入的新结点的指针,还有插入结点的前面结点的next域,和后面结点的prior域。
第二章课后习题14、设计两个顺序表A和B,且都递增有序,试写一算法,从A中删除与B中相同的元素(也就是计算A-B)。
15、已知head P指向结点与其后继结点位置交换。
(q为p的后继结点,s r16、已知两个单链表A和B分别表示两个集合,其元素值递增有序,试写一算法,求A和B的交集C,要求C同样以元素递增的单链表形式存储。
r=head; 查找p的前趋结点y的结点。
第三章一、队列算法f31的功能是清空带头结点的链队列Q,请填空。
Type struct node{ DataType data;Struct node *next;}QueueNode;{QueueNode *front; //队头指针二、填空题15、如果编号为1,2,3的3辆列车进入一个栈式结构的站台,那么可能得到的3辆车出站序列有哪些?不可能出现的序列是什么?16、简述下列程序算法的功能(假设元素为整数类型)(1) void ex31(SeqStack *S){int A[80],i,n;n=0;while(!empty(S)){ A[n]=pop[S];n++;}for(i=0;i<n;i++)push(S,A[i]);}答案:此算法功能是通过一个数组将一个栈中的所有元素逆置存放。
2012年计算机统考数据结构真题
当前字符 a + b a * ( ( c + d ) / e f
栈内容 +
Байду номын сангаас
后缀表达式 a ab
说明
-* -*( -*(( -*(( -*((+ -*((+ -*( -*(/ -*(/ -*(-*(-
ab+ ab+a ab+a ab+a ab+a ab+ac ab+ac ab+acd ab+acd+ ab+acd+ ab+acd+e ab+acd+e/ ab+acd+e/f
D.O(n2)
B。本算法是一个递归,设执行时间为 T(n),则有: T(n)=1 当 n=1 时 T(n)=T(n-1)+1 当 n>1 时 所以 T(n)=T(n-1)+1=T(n-2)+2=T(n-3)+3=„=T(1)+n-1=n=O(n)。 2. 已知操作符包括 “+” , “-” , “*” , “/” 和 “(” 、 “)” 。 将中缀表达式 a+b-a*((c+d)/e-f)+g 转换为等价的后缀表达式 ab+acd+e/f-*-g+时, 用栈来存放暂时还不能确定运算次序的操 作符, 若栈初始时为空, 则转换过程中同时保存在栈中的操作符的最大个数是 ( ) 。 A.5 B.7 C.8 D.11 A。产生后缀表达式的过程如表 1 所示,从中看到栈中最多有 5 个运算符。
图 2
⌉ D。3 阶 B-树中每个非叶子节点至少包含⌈ 个关键字。该 3 阶 B-树删除关键 字 78(如图 3 所示),得到一棵新 B-树(如图 4 所示)。
2012年黑龙江省数据结构试题及答案修改二最新考试试题库
21、在数据结构中,与所使用的计算机无关的是数据的 A 结构。
A.逻辑 B.存储 C.逻辑和存储 D.物理
22、衡量查找算法效率的主要标准是( C )。
A)元素个数 B)所需的存储量
C)平均查找长度 D)算法难易程度
11、n个顶点的强连通图中至少含有( )。
A.n—l条有向边 B.n条有向边
C.n(n—1)/2条有向边 D.n(n一1)条有向边
12、非空的循环单链表head的尾结点(由p所指向)满足 C 。
A.p->next == NULL B.p == NULL
连续存放,则元素a[8][5]的起始地址是
A.SA+141 B.SA+144 C.SA+222 D.SA+255
43、n个顶点的强连通图中至少含有( )。
A.n—l条有向边 B.n条有向边
C.n(n—1)/2条有向边 D.n(n一1)条有向边
D.循环双链表
27、在循环双链表的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.p->next ==head D.p == head
13、有向图采用邻接矩阵存储,某一行中非零元素的个数等于
A.对应顶点v的度
B.对应顶点v的出度
2012黑龙江省数据结构基础试题及答案
1、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)C)空表 D)((a,b),(c,d))2、向一个栈顶指针为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;3、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFOC)FCFS D)HPF4、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面5、已知广义表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)))))6、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D)。
A) (G) B) (D) C) C D) D7、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++8、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1C) D->Rchild=Null D) D->ltag=09、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
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.就地逆置:例:70 30 40 10,将其分为两个区间,逆置前和逆置后,每次将逆置前中的第一个元素放在逆置后区中第一个位置[]70 10 30 40;[70]10 30 40;[10 70]30 40;[30 10 70]40;[40 30 10 70]2.删除大小范围从x到y之间元素方法1:用遍历判断的方法,直接从表中删除,顺序表则还需要在每个元素删除之后后面的元素还要向前移动。
(时间代价为O(n^2))方法2:建立新的表,遍历原来的表,不满足的元素加到新表中,满足条件的不加,最后将新表赋值给旧表。
(时间代价为O(n),但是还有额外的空间代价O(n))3.用线性表表示多项式并实现多项式相加(以链表为例)建立一个新的类Node,里面有三个元素,次数(int),系数(int),下一个元素地址(Node),按照这个类型建立链表,并在建立之后按照次数降序排序。
多项式相加:多项式A和多项式B,获取两个多项式的最高次数和最低次数,按照i=最高次项到最低次项逐项判断A和B内是否有该次项,无则记为0,有则提取系数进行相加,最终得到最后结果。
4.交换两个单链表两个元素位置(分别记为A和B)方法1:直接交换两个元素的值(temp=A.data;A.data=B.data;B.data=temp;)方法2:交换两个结点,A的前面结点的Next指向某个temp,B的前面结点的Next指向A,temp指向B;A的Next指向temp1,B的Next指向temp2,此后B的Next指向temp1,B 的Next指向temp2,完成交换。
5.多项式求导数。
由3作为基础。
次数不为零的结点,系数等于次数乘系数,次数等于自己减一,次数为零的,系数等于零。
二、栈1.汉诺塔递归,要移动n层的汉诺塔就意味着要移动n-1层在移动最后一层,所以最终是先移动第一层。
例:三层汉诺塔,就意味着先移动2层,又意味着先移动1层。
数据结构(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数据结构测试题及答案解析
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版)
以下是一份数据结构与算法试卷(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. 在数据结构中,________是一种非线性结构,它由节点和边组成。
答案:图(或无向图、有向图)。
2012数据结构题资料
●__(4)__的特点是数据结构中元素的存储地址与其关键字之间存在某种映射关系。
(4)A.树形存储结构B.链式存储结构C.索引存储结构D.散列存储结构●若循环队列以数组 Q[O..m-1] 作为其存储结构变量 rear 表示循环队列中队尾元素的实际位置,其移动按 rear=(rear+1) mod m 进行,变量 length 表示当前循环队列中的元素个数,则循环队列的队首元素的实际位置是__(5)__。
(5)A.rear-length B.(rear-length+m) mod mC.(1+rear+m-length) mod m D.m-length●一个含有n个顶点和e条边的简单无向图,在其邻接矩阵存储结构中共有__(6)__个零元素。
(6)A.e B.2e C.n2-e D.n2-2e●若一棵哈夫曼(Huffman)树共有9个顶点,则其叶子结点的个数为__(7)__。
(7)A.4 B.5 C.6 D.7●若采用邻接矩阵来存储简单有向图,则其某一个顶点i的入度等于该矩阵__(8)__。
(8)A.第i行中值为1的元素个数 B.所有值为1的元素总数C.第i行及第i列中值为1的元素总个数D.第i列中值为1的元素个数●在—棵度为3的树中,若有2个度为3的结点,有1个度为2的结点,则有__(9)__个度为0的结点。
(9)A.4 B.5 C.6 D.7●设结点x和y是二叉树中任意的两个结点,在该二叉树的先根遍历序列中x在y之前,而在其后根遍历序列中x在y之后,则x和y的关系是__(10)__。
(10)A.x是y的左兄弟B.x是y的右兄弟C.x是y的祖先D.x是y的后裔●设顺序存储的某线性表共有123个元素,按分块查找的要求等分为3块。
若对索引表采用顺序查找方法来确定子块,且在确定的子块中也采用顺序查找方法,则在等概率的情况下,分块查找成功的平均查找长度为__(11)__。
(11)A.21 B.23 C.41 D.62DCDBDCCB(顺序查找平均查找长度是:(n+1)/2 (1+3)/2+(41+1)/2=23 123/3=41)●在一棵完全二叉树中,其根的序号为1,_(33)_可判定序号为p和q的两个结点是否在同一层。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用顺序存储,便于进行插入和删除操作。
24、( C )在进行插入操作时,常产生假溢出现象。
A)顺序栈 B)循环队列
34、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A) 单链表 B) 仅有头指针的单循环链表
C) 双链表 D) 仅有尾指针的单循环链表
35、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
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
44、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。
A) 存储密度大 B) 插入运算方便
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
41、串的逻辑结构与( D )的逻辑结构不相同。
A)线性表 B)栈
C)队列 D)集合
A) A, B, C, D, E
B) B, C, D, E, A
C) E, A, B, C, D
D) E, D, C, B, A
15、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。
1、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)
2、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵
C) 对角矩阵 D) 对称矩阵
A)直接选择排序 B)直接插入排序
C)快速排序 D)起泡排序
32、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
3、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
C)p=p->nexe->next D)p->next=p
4、n个顶点的强连通图至少有( A )条边。
A)9 B)11 C)15 D)不能确定
36、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
37、数据结构研究的内容是( D )。
33、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用顺序存储,便于进行插入和删除操作。
A)n B)n+1 C)n-1 D)n(n-1)
5、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
C)部分地址必须是连续 D)必须是不连续的
10、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。
A) 4 B)3 C)2 D)12
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
29、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
6、下列序列中,执行第一趟快速排序后得到的序列是( 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]
7、队列的操作的原则是( A )。
A)先进先出 B) 后进先出
A) 4 B)3 C)2 D)12
45、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
46、n个顶点的图的最小生成树必定( D ),是不正确的描述。
30、已知栈的最大容量为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
31、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是( A )。
22、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
A)4 B)5
C)6 D)7
23、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。
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)))))
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
18、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
A) (G) B) (D) C) C D) D
16、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
17、线索二叉树中某结点D,没有左孩子的条件是( B )。
13、下列各种数据结构中属于线性结构的有( A )。
A)栈 B) 二叉树
C) 广义表 D) 图
14、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
C)不含回路 D)有n条边
39、栈进行插入和删ห้องสมุดไป่ตู้操作的特点是( A )。
A)LIFO B)FIFO
C)FCFS D)HPF
40、以下属于顺序存储结构优点的是( A )。
11、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
12、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
C)顺序队列 D)链队列
25、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)FCFS D)HPF
26、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
C)p=p->next->next; D) p->next=p;
19、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。
A)n B)2e C)e D) n+e
20、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
38、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
42、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
43、已知栈的最大容量为4。若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
27、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构
C)线性结构和非线性结构 D)内部结构和外部结构
28、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
C) 只能进行插入 D) 只能进行删除
8、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
9、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
A)顺序表示法 B)单字符为结点的单链表表示法
C)等量分块表示法 D)不等量分块表示法
21、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便