java数据结构
cjw
这个作者很懒,什么都没留下…
展开
-
稀疏数组
稀疏数组在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵。存储矩阵的一般方法是采用二维数组,其优点是可以随机地访问每一个元素,因而能够容易实现矩阵的各种运算。对于稀疏矩阵,采用二维数组的存储方法既浪费大量的存储单元来存放零元素,又要在运算中浪费大量的时间来进行零元素的无效运算。因此必须考虑对稀疏矩阵进行压缩存储(只存储非零元素)。首先创建一...原创 2019-08-03 15:23:35 · 103 阅读 · 0 评论 -
队列--通过数组实现
队列是一种特殊的线性表,和栈一样,队列是一种操作受限制的线性表。队列只能从头部(front)删除数据,从尾部(rear)加入数据,队列是先进先出的思想(FIFO)。接下来用java代码实现数组队列首先创建一个类ArrayQueue来创建实例域和初始化队列,并实现相关的功能。创建相关变量private int maxSize; //数组的最大容量private int front; ...原创 2019-08-03 15:23:46 · 306 阅读 · 0 评论 -
环形队列--通过数组实现
在上一篇的数组队列中,数组只能使用一次就不能用给了,一旦把输入的数据全部都取出,再添加数据时就会出错,不能达到复用的效果。为了能重复的使用同一个数组,就要使用环形队列(通过取模方式)。以下为java代码实现的环形队列首先创建一个类CircleArray来创建实例域和初始化队列,并实现相关的功能。创建相关变量private int maxSize;private int front; /...原创 2019-08-03 15:23:53 · 986 阅读 · 0 评论 -
单链表实现
单链表是一种链式存储的数据结构,通过结点存储,每个存储结点都是不连续的任意的存储地址,每个结点都有基本数据和指向下个地址的指针(通常设为next)。单链表通过next指针把每个结点都连接起来。实现过程(java)创建HeroNode类,该类的每个对象可以看做一个结点class HeroNode{ public int no;//号码 public String name;//姓名 pu...原创 2019-08-03 21:46:10 · 154 阅读 · 0 评论 -
单向环形链表实现约瑟夫问题
约瑟夫环,也称为约瑟夫问题,有N个小孩围坐一圈,从编号为k的小孩开始报数,数到m的小孩出圈,出圈的小孩的下一个人又从一开始报数,数到m的小孩出圈,如此重复,直至最后剩下一个小孩。接下来用java来实现约瑟夫环首先创建小孩类Boy,该类的每一个实例都代表一个小孩。class Boy{ private int no;//编号 private Boy next;//指向下一个节点 pub...原创 2019-08-08 21:18:52 · 287 阅读 · 0 评论 -
双链表实现
双链表也是链表的一种,与单链表相似,同样有next指针,但比单链表多了一个pre指针,该指针指向当前结点的直接前驱,有了该指针后,双链表就可以向前或向后查找,在删除结点时,也不必像单链表那样要靠辅助结点来找要删除的结点。双链表一般是在需要大批量的另外储存数据在链表中的位置的时候用。以下是用java代码来实现双链表首先创建HeroNode2类,该类的对象都可看做一个结点class HeroNo...原创 2019-08-07 18:37:16 · 136 阅读 · 0 评论