![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 87
从入门到起飞,用Java手撕各种数据结构,详细讲解加源码呈现。
小皮侠
在读大二软件工程专业学生,梦想进大厂做一名后端开发人员,战斗!爽!
展开
-
【数据结构七】堆与PriorityQueue详解
堆的概念:堆能把它的所有元素按照完全二叉树的方式存储在一个一维数组中,并保证每次出队列的元素都是这些元素中的最大值或最小值。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。堆中某个节点的值总是不大于或不小于其父节点的值;原创 2024-03-13 09:52:55 · 1185 阅读 · 16 评论 -
【数据结构六】图文结合详解二叉树(五千字)
树是一种的数据结构,它是由n个结点组成的具有层次关系的集合,,看起来像一颗倒挂的树。二叉树是一种最多只有两个节点的树型结构。这篇文章会用Java代码手撕二叉树的实现,从概念到实现,到oj题训练,你不仅能学会二叉树,还能加深对它的理解和运用。原创 2024-03-09 12:32:57 · 1041 阅读 · 12 评论 -
【数据结构五】队列和Queue详解
双端队列(deque)是指允许两端都可以进行入队和出队操作的队列,deque 是 “double ended queue” 的简称。其中物理结构即顺序结构和链式结构,因为队列的使用情况多为增加和删除,很少查询,所以我们使用链表来实现一个自己的队列。:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出。在java中,Queue是个接口,底层是通过链表实现的,下面是Queue提供的方法。在基于顺序结构实现的队列中,数组头部排出数据后,空间便不能在被使用,来自力扣的两道算法题。原创 2024-02-29 20:16:18 · 1075 阅读 · 2 评论 -
【数据结构四】栈与Stack详解
一种特殊的线性表,其。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO)的原则。压栈:栈的插入操作叫做进栈压栈入栈,。出栈:栈的删除操作叫做出栈。。特点是:后进先出。如图所示。原创 2024-01-24 21:03:35 · 900 阅读 · 2 评论 -
【数据结构三】链表和LinkedList详解
当,效率比较低,因此。链表是一种存储结构,数据元素的是通过链表中的次序实现的。原创 2024-01-19 22:11:06 · 1149 阅读 · 2 评论 -
【数据结构二】手撕顺序表与ArrayList源码详解
对于任意一个继承list接口的数据结构我们都应该实现增删改查获取长度清空等方法,以及相应类的构造方法,我们知道Java中为了提高代码的复用,都是通过类继承接口的方式来进行代码试现,下面让我们写这样一个接口。思路: 通过泛型内在放一个顺序表类的方法实现二维列表,然后再利用循环先将每一层的数值填入numRows个顺序表中,再把这numRows个顺序表填入另一个顺序表中,最后这个顺序表就包含了我们想要的结果。注意:我们自己的顺序表没有实现泛型机制,而java提供的ArrayList是实现了泛型的。原创 2023-12-28 21:14:28 · 932 阅读 · 12 评论 -
【数据结构一】初始Java集合框架(前置知识)
数据结构是计算机中存储,组织数据的方式。我们现在学习的数据结构都是历史中总结出来的典型的优良的程序结构,在开发中多利用这些数据结构能显著提高你的代码质量。我们需要学习的数据结构有:线性表,链表,堆,栈,队列,哈希表,二叉树,图等。原创 2023-12-23 21:55:49 · 2229 阅读 · 9 评论