![](https://img-blog.csdnimg.cn/20210716201833731.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java数据结构和算法
使用Java语言学习数据结构和算法
少睡点觉
这个作者很懒,什么都没留下…
展开
-
LeetCode 2679. 矩阵中的和
给你一个下标从开始的二维整数数组nums。一开始你的分数为0。请你返回最后的。原创 2023-07-04 20:12:59 · 552 阅读 · 0 评论 -
LeetCode 445.两数相加 II
给你两个链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。原创 2023-07-03 22:48:48 · 248 阅读 · 0 评论 -
2021-07-20 双向链表
双向链表 在单链表的基础上增加了一个pre变量,指向前一个节点 public class DoubleLinkedListDemo { } class DoubleLinkedList { private HeroNode head = new HeroNode(0,"",""); // 返回头节点 public HeroNode getHead() { return head; } // 遍历所有节点 public void list()原创 2021-07-20 22:20:43 · 28 阅读 · 0 评论 -
2021-07-18 单链表
链表(Linked List)介绍 链表是以节点的方式来存储,是链式存储 每个节点含data域,next域: 指向下一个节点 链表的各个节点不一定是连续存储 链表分带头节点的链表和没有头节点的链表,根据需求来确定 ...原创 2021-07-19 14:34:26 · 34 阅读 · 0 评论 -
2021-07-17 队列
普通队列 使用场景: 银行排队的案列 队列介绍 队列是一个有序列表,可以使用数组或是链表来实现 先入后出 示意图: 现在的队列数组使用一次就不能用,没有达到复用,后面将使用环形数组 实现代码 import java.util.Scanner; public class ArrayQueueDemo { public static void main(String[] args) { ArrayQueue arrayQueue = new ArrayQueue(3);原创 2021-07-17 13:48:56 · 46 阅读 · 0 评论 -
2021-07-16 稀疏数组sparsearray
稀疏数组 实际需求: 五子棋程序中的存盘和读盘的功能 数组变稀疏数组 转换思路 二维数组变为稀疏数组: 1. 遍历原始的二维数组,得到有效的数据的个数sum 2. 根据sum创建稀疏数组 sparseArr int[sum+1][3] 3. 将二维数组的有效数据存入稀疏数组中 稀疏数组变为原始二维数组思路 1. 先读取二维数组的第一行,创建原始数组 2. 读取稀疏数组的后几行数据,并赋值给原始二维数组即可 代码 public class SparseArray { public stat原创 2021-07-17 00:35:33 · 71 阅读 · 0 评论 -
2021-07-16 数据结构分类
线性结构:数组、队列、栈和链表 顺序存储结构:存储元素是连续的 链式存储:存储元素不一定连续 非线性结构:二维数组、多维数组、广义表、树结构、图结构原创 2021-07-16 20:15:31 · 42 阅读 · 0 评论