![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java数据结构
文章平均质量分 69
记录学习Java的笔记
屹力97
这个作者很懒,什么都没留下…
展开
-
Java_初级综合训练及答案
设计成员方法sign()和main(),其中sign()接收一个整型变量,如果其值大于0返回1,等于0返回0,小于0返回-1,在main()方法中调用sign()方法。设计一个复数类,该类有实部和虚部两个属性,有两参数构造方法,空参数构造方法,有实部加1操作、输出复数信息操作。设计类Test1期中包含成员方法order(),接收1个整型数组,实现该数组的升序排列,空返回值,使得可以在Test类中调用该方法。请设计产生随机字符的方法,该方法形参为char ch1,char ch2,返回该范围内随机字符。原创 2023-01-14 10:39:20 · 100 阅读 · 0 评论 -
Java_SequentialStack 顺序栈分享
具体内容的解释都在注释上了。原创 2022-11-06 21:35:14 · 172 阅读 · 0 评论 -
Java_Binary tree 二叉树分享
在层序遍历中要用到队列,需要创建一个Extree类型的队列对象queue去调用LinkedList中对Queue重写的方法,在循环外层进行根节点的入队操作,循环内部开始遍历所有的左、右孩子,然后挨个输出。在前序遍历、后序遍历、中序遍历和层序遍历的方法中,只能使用print,而不能使用println,否则会将每个元素后都进行换行操作,因为内部方法不是所有元素进行一次性输出,而是一次一个的输出元素。只能在全部输出结束后,进行换行操作。注意在前序遍历、后序遍历、中序遍历和层序遍历的方法中,第一步先判空,不能忘原创 2022-11-06 21:33:07 · 127 阅读 · 0 评论 -
Java_多态 使用动物为例学习实现多态分享
以动物为例,动物可以吃东西,动物下有猫和狗,动物上有主人。原创 2022-10-30 20:57:47 · 366 阅读 · 0 评论 -
Java_CircularQueue 循环队列分享
具体内容解释都在注释中了。原创 2022-10-30 20:28:27 · 120 阅读 · 0 评论 -
Java_LinkedStack 链栈分享
具体内容的解释都写在注释里了原创 2022-10-30 20:06:55 · 404 阅读 · 0 评论 -
Java_银行排队叫号系统
模拟银行叫号系统:当客户到达银行时,先取号,显示当前的客户号,以及正在等待的客户人数。当有窗口空闲时,若有等待的客户,则显示信息:请XXXX号客户到窗口办理。(要求:使用顺序队列或链式队列实现该系统)设计思路将方法和执行类分开,在方法内不用写入具体的入队和出队操作,用纸和笔做出图像,来表示整个取号和叫号的过程,清晰的理解整个过程,在每次调用取号操作时内部的变量内容都会加一,每次调用叫号操作时内部的变量内容都会减一,在执行类中用while语句包含着switch case语句来选择取号、叫号还是退出服务,原创 2022-10-23 21:33:51 · 3651 阅读 · 1 评论 -
Java学习_初学阶段综合实验 总
设计一个名为Rectangle的类表示矩形。这个类包括以下内容:两个名为width和height的double类型私有数据域,它们分别表示矩形的宽和高。一个用于创建默认矩形的无参构造方法,设置width和height值都为1。一个创建指定width和height值的矩形有参构造方法。设置width和height的访问器和修改器。一个名为getArea()的方法,返回矩形的面积。一个名为getPerimeter()的方法,返回周长。请去定义一个测试类Test,创建两个Rectangle对象:一个调用无参构造方原创 2022-10-23 17:26:55 · 189 阅读 · 0 评论 -
Java_银行账目问题
请设计一个类来描述银行账户,自行设计成员变量及构造方法,至少包含存款、取款、计息三个方法。原创 2022-10-23 12:28:58 · 353 阅读 · 0 评论 -
数据结构学习综合题及答案6
堆是满二叉树快速排序和归并排序在最坏的情况下的比较次数都是O(nlog2n)。只有在初始数据表为逆序时,直接插入排序所执行的次数最多。简单选择排序算法的时间复杂性不受数据的初始状态影响,为O(n^2)。若将一批杂乱无章的数据按堆结构组织起来, 则堆中数据必然按从小到大的顺序线性排列。当向一个最小堆插入一个具有最小值的元素时,该元素需要逐层向上调整,直到被调整到堆顶位置为止。堆排序是一种稳定的排序算法。当待排序序列初始有序时,快速排序的时间复杂性为O(n)。快速排序的时间复杂性不受数据初始状态影响,恒为O原创 2022-10-16 22:28:46 · 1032 阅读 · 0 评论 -
数据结构学习综合题及答案5
边数很多的稠密图,适宜用邻接矩阵表示。边数很少的稀疏图,适宜用邻接表表示。强连通分量是有向图中的极大强连通子图。对任何用顶点表示活动的网络(AOV网)进行拓扑排序的结果都是唯一的。邻接矩阵适用于稠密图(边数接近于顶点数的平方),邻接表适用于稀疏图(边数远小于顶点数的平方)。一个无向连通图的生成树是图的极小的连通子图。邻接表只能用于有向图的存储,邻接矩阵对于有向图和无向图的存储都适用。存储无向图的邻接矩阵是对称的,因此可以只存储邻接矩阵的下(上)三角部分。采用不同的遍历方法,所得到的无向图的生成树总是原创 2022-10-16 22:25:42 · 1024 阅读 · 0 评论 -
数据结构学习综合题及答案7
完全二叉树的某结点若无左孩子,则它必是叶结点。线索二叉树中的每个结点通常包含有5个数据成员。对于一棵具有n个结点,其高度为h的任何二叉树,进行任一种次序遍历的时间复杂度均为O(h)。哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根较近。在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行前序遍历和按层遍历,则具有相同的结果。二叉树中不存在度大于2的结点,当某个结点只有一棵子树时无所谓左、右子树。在树的存储中,若使每个结点带有指向双亲结点的引用,这为在算法中寻找双亲结点带来方便。原创 2022-10-16 22:23:30 · 1153 阅读 · 0 评论 -
数据结构学习综合题及答案2
数组元素的下标值越大,存取时间越长。KMP算法的特点是在模式匹配时指示主串的指针不会变小。只要串采用定长顺序存储,串的长度就可以立即获得,不需要用函数求。两个串含有相等的字符,它们一定相等。在串的顺序存储中,通常将“0”作为串结束的标记。数组是一种复杂的数据结构,数据元素之间的关系既不是线性的,也不是树形的。稀疏矩阵压缩存储后,必会失去随机存取功能。原创 2022-10-16 22:20:55 · 487 阅读 · 0 评论 -
数据结构学习综合题及答案1
链队列的入队操作总是需要修改尾引用栈和队列逻辑上都是线性表。链队列的出队操作是不需要修改尾引用的。单链表形式的队列,头引用F指向队列的第一个结点,尾引用R指向队列的最后一个节点。在用单链表表示的链式队列中,队头在链表的链尾位置。栈是一种先进先出的线性表。栈是一种特殊的线性表,它所有的插入和删除都限制在表的同一端进行栈和队列的运算都限制在它们的端点上进行,所以也称为限制存取点的表。采用环形队列可以解决队列中假溢出的现象队列结构不会出现溢出问题队列中允许进行删除的这一端叫队列的尾,允许进行插入的这一 端叫原创 2022-10-16 22:16:45 · 1612 阅读 · 0 评论 -
数据结构学习综合题及答案4
线性表采用链表存储时,存储空间可以是不连续的。对任何数据结构,链式存储结构一定优于顺序存储结构。在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上不一定紧邻。循环链表可以在尾部设置头指针。为了方便插入和删除,可以使用双向链表存放数据。取顺序表的第i个元素的时间与i的大小有关。顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。线性表采用链式存储结构时,结点和结点内部的存储空间可以是不连续的。顺序存储方式只能用于存储线性结构。线性表中每个元素都有一个直接前驱和一个直接后继。线性表就是顺序存储原创 2022-10-16 22:03:55 · 1144 阅读 · 0 评论 -
数据结构学习综合题及答案3
数据元素是数据的最小单位。数据结构是带有结构的数据元素的。抽象数据类型与计算机内部表示和实现无关。抽象数据类型(ADT)包括定义和实现两方面,其中定义是独立于实现的,定义仅给出一个ADT的逻辑特性,不必考虑如何在计算机中实现。一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。数据的逻辑结构和数据的存储结构是相同的。从逻辑关系上讲,数据结构主要分为线性结构和非线性结构。数据的存储结构是数据的逻辑结构的存储映像。数据的物理结构是指数据在计算机内实际的存储形式。数据的逻辑结构是依赖于计算机原创 2022-10-16 22:02:25 · 1497 阅读 · 0 评论 -
Java_LinkedQueue 链队列分享
而链队列,它在链表的基础上实现的队列结构,说到顺序表和链表的区别,即在实际的物理空间中,数据集中存储的队列是顺序队列,分散存储的队列是链队列。队列的运行方式就是从入队到出队,如下图所示。我们用图片来理解一下。原创 2022-10-16 21:28:08 · 486 阅读 · 0 评论 -
Java_商品货架管理问题
商品货架管理可以看成一个栈,栈顶商品的生产日期最早,栈底商品的生产日期最近。上货时,需要倒货架,以保证生产日期较近的商品在较靠下的位置。按照从货架最里端到最外端依次入顺序栈1所有商品信息,再出栈进入到顺序栈2中时,将最新的生产日期的商品放在了顺序栈2的最前端,将最旧的生产日期的商品放在了顺序栈2的最后端,再向空的顺序栈1内按照从新日期到旧日期的顺序加入新的商品信息,再把顺序栈2的内容进行出栈操作,加入到顺序栈1中,加入时原先货架上的商品中旧生产日期的商品在加入的前端,较新的生产日期的商品在加入的后端原创 2022-10-15 22:47:16 · 599 阅读 · 0 评论 -
Java_SequentialList 顺序表分享
顺序表1是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。原创 2022-10-05 10:52:09 · 236 阅读 · 0 评论 -
Java_Josephus problem 约瑟夫环详尽分享
约瑟夫环1是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时把编号从0~n-1,最后结果+1即为原问题的解。在真正开始设计我们的约瑟夫环之前,我们需要有节点类和数据类的支撑,如下所示下方LinkedNode就是我们的节点类//设置私人的对象 private T data;原创 2022-10-01 20:38:54 · 549 阅读 · 1 评论