Java题目求解

《数据结构》考试大纲 ? ?数据结构是计算机专业的主干课、专业基础课,主要介绍用计算机解决一系列问题特别是非数值信息处理问题时所用的各种组织数据的方法、存储数据结构的方法以及在各种结构上执行操作的算法。通过教学要求学生掌握各种数据结构的特点、存储表示、运算方法以及在计算机科学中最基本的应用,培养、训练学生选用合适的数据结构和编写质量高、风格好的应用程序的能力,并为后续课程的学习打下良好的理论基础和实践基础。 为了检验学生学习效果,特编写此考试大纲,具体内容如下: 总成绩评定办法:采用百分制,包括理论部分、实验部分、平时成绩三部分。 总成绩比例:理论成绩70%+上机成绩20%+平时成绩10%。总成绩不及格者需要补考或重修。 理论成绩:为期末闭卷考试成绩,试卷由担当这门课授课任务的所有老师参与命题,考试结束后依据相同的评分标准密封改卷; 上机成绩:主要指上机实训期间对每次实验内容的完成情况,该考核由各任课老师完成; 平时成绩:主要包括考勤和课堂表现,该考核由各任课老师完成。 现将期末考试所要求掌握的知识点以及考试注意事项整理如下: 一、考试知识点(按100分制命题) 第1章 数据结构概论 了解数据、数据元素、抽象数据类型、数据结构、数据的逻辑结构与存储结构等概念。 了解算法的定义、特性、算法的时间复杂度、算法的空间复杂度、递归算法等概念。 第2章 线性表 掌握线性表的基本概念及其两种存储结构(顺序存储、链式存储)。 掌握顺序表的各种操作(插入、删除等)实现及算法复杂度。 掌握单链表的各种操作(插入、删除等)实现及算法复杂度。 了解带头结点的单链表的头结点的作用。 了解循环单链表、循环双链表等概念及其特点。 了解双链表的概念及其实现(重点是插入、删除操作的实现)。 掌握顺序表和链表的特点,对比他们的优缺点。 第3章 串 本章不考 第4章 桟和队列 了解栈、队列的基本概念。 熟练掌握两种栈(顺序栈、链式栈)的入桟、出栈操作,并能利用栈解决实际问题。 熟练掌握两种队列(顺序循环队列、链式队列)的入队、出队操作,并能利用队列解决实际问题。 第5章 数组和广义表 理解多维数组的行主序、列主序存储及遍历。 了解特殊矩阵(对称矩阵、三角矩阵、稀疏矩阵)的压缩存储。 了解广义表的相关概念及表示方法。 第6章 树和二叉树 了解树和二叉树(满二叉树、完全二叉树)的基本概念、术语和性质。 了解二叉树的顺序存储结构。 熟练掌握二叉树的二叉链表存储结构及其实现。 熟练掌握二叉树的先根、中根、后根遍历算法。 熟练掌握采用先根和中根(或中根和后根)两个遍历序列构造二叉树的方法,了解其它三种构造二叉树的方法。 掌握二叉树先、中根遍历的非递归算法。 熟练掌握二叉树的层次遍历算法,能够用顺序循环队列跟踪遍历过程。 熟练掌握建立哈夫曼树和哈夫曼编码的方法及带权外路径长度(WPL)的计算。(哈夫曼树算法不要求掌握程序代码,建立哈夫曼树时,要求每个分支结点的左孩子权值≤右孩子权值。) 了解树和二叉树的相互转换,了解树的存储、遍历。 第7章 图 了解图的基本概念(图的定义、有向图、无向图、完全图、带权图、邻接顶点、顶点的度、子图、路径、连通图、强连通图等)。 熟练掌握图的两种存储结构(邻接矩阵表示法、邻接表表示法)。 熟练掌握图的两种遍历算法(深度优先搜索遍历、广度优先搜索遍历)、能采用这两种遍历算法得到图的生成树。 熟练掌握图的两种最小生成树(MST)算法思想(Prim、Kruskal)。 掌握单源最短路径求解算法。 第8章 查找 了解查找的基本概念(查找表、查找、平均查找长度ASL)。 熟练掌握线性表的查找算法(顺序查找、折半查找、分块查找)。会计算查找过程中的比较次数,会分析它们的算法时间复杂度,了解它们的优点和缺点,能够根据实际情况选择适当的查找算法。 掌握二叉排序树的定义以及查找、插入、删除等操作。掌握二叉排序树的查找性能分析方法,会计算二叉排序树的平均查找长度。 了解散列技术涉及的一些基本概念(散列、散列函数、冲突、同义词等),会使用除留余数法构造散列函数,熟练掌握解决处理冲突的两种方法(开放定址法、链地址法),会计算散列查找的平均查找长度。 第9章 排序 了解排序的基本概念(数据序列、关键字、稳定性、排序分类)。 熟练掌握各种内排序算法(直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、归并排序)的思想及其实现。 了解上述6种排序算法的时间复杂度、空间复杂度和稳定性,能够根据实际情况选择适当的排序算法。 二、试卷命题类型: 选择题(40%,20×2) 填空题(10%,10×1) 是非题(5%,5×1) 简答题(38%,6道) 综合题(7%,7×1)--算法设计 三、题型举例: 1.栈的特征是( B )

}

《Java基础编程题含答案》由会员分享,可在线阅读,更多相关《Java基础编程题含答案(40页珍藏版)》请在人人文库网上搜索。

1、50道JAVA基础编程练习题【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21. public class Prog1public static void main(String args)int n =

false;【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。(2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。pu

System.out.println(); 【程序10】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?import java.util.Scanne

;System.out.println(经过第+n+次反弹后,小球共经过+length+米,+第+n+次反弹高度为+h+米);【程序11】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。public class Prog11public static

profit_sub*0.1;return prize;【程序13】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如

System.out.println(小猴子共摘了+m+桃子);【程序18】题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。 import java.util.ArrayList;public clas

35、t n)if(n=1) return 1;else return fact(n-1)*n;【程序23】题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

}

我要回帖

更多关于 java程序分析题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信