![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 84
基础数据结构内容,Java实现
星鸦wyk
这个作者很懒,什么都没留下…
展开
-
【数据结构】哈希表
这是之前的数据结构的内容,前面这个专栏的内容还没有写完,现在把这些给补上。原创 2023-05-19 00:07:59 · 478 阅读 · 2 评论 -
【数据结构】优先级队列(堆)
优先级队列依旧是队列,依旧遵循着先进先出的原则,不过和队列所不一样的是,优先级队列操作的数据有优先级,优先级高的数据先出队列,优先级队列底层所使用的数结构便是堆。原创 2022-08-26 22:41:15 · 788 阅读 · 4 评论 -
【数据结构】二叉树详解
树是一种非线性的数据结构,是由多个节点组成的有层次关系的集合,看起来就像一颗倒挂的树,如下图:树中有一个节点没有前驱节点,这个节点称为根节点除根节点外,其余的节点又可以看成多个互不相交的集合,每一个集合就是一颗子树。原创 2022-08-20 11:16:26 · 4284 阅读 · 6 评论 -
【数据结构】栈和队列
栈和队列的结构比较简单,里面的操作也比较少,如果你之前实现过顺序表和链表的话,那么栈和队列的实现就很简单,具体实现这里略过目录1.栈和队列的概念2.Stack3.Queue1.栈和队列的概念栈和队列都也属于线性表,二者的特点如下:栈:只允许在固定的一端进行插入和删除元素操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底,最先进入栈的元素最后出去队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作,进行插入操作的一端称为队尾,进行删除操作的一端称为队原创 2022-05-24 21:41:19 · 178 阅读 · 5 评论 -
链表的使用(2)
原创 2022-05-16 17:56:31 · 164 阅读 · 5 评论 -
链表的使用(1)
上一篇说过会找一些OJ题目来看看单链表的使用,题目挺多,计划分成两篇目录1.反转单链表2.链表中间节点3.链表的倒数第k个节点4.合并两个有序链表5.链表的回文结构1.反转单链表思路:上一篇写的单链表里面讲过怎么实现头插法,而这里的反转链表就是将头节点后面的节点依次放到前面来,因为需要进行多次头插,所以需要另外一个节点来记录当前头插的节点的下一个节点代码如下:class Solution { public ListNode revers...原创 2022-05-10 20:05:43 · 179 阅读 · 4 评论 -
【数据结构】链表
链表的种类有很多,这里只挑选其中的部分种类来实现目录1.链表概念2.链表分类3.链表的实现3.1增加数据3.1.1头部添加数据3.1.2尾部添加数据3.1.3任意位置加入数据3.2删除数据3.2.1删除第一次出现key值的位置的节点3.2.2删除所有位置出现key值的节点1.链表概念链表同样是线性表的一种,其特点是物理存储结构不连续,逻辑顺序是通过链表中的引用链接次序来实现(具体可以想象下火车车厢是如何连接的)具体结构如下图:节点分为...原创 2022-05-08 19:46:20 · 936 阅读 · 3 评论 -
【数据结构】顺序表
写在前面:关于数据结构,Java官方其实已经帮我们写好并封装起来了,在真正需要使用的时候直接调用即可,但为了更好的理解数据结构,我会按照源码的思路写一个简化后的数据结构,默认接收的数据为int目录1.线性表2.顺序表的实现2.1增加数据2.1.1尾部增加数据2.1.2任意位置增加数据2.2查找数据2.3删除数据2.4修改数据3.ArrayList3.1ArrayList的实例化3.2ArrayList常用的方法1.线性表线性表是多个具有相原创 2022-05-04 21:22:53 · 303 阅读 · 7 评论 -
【数据结构】Java的泛型
在正式进入内容之前说明一下:泛型的内容太多,也太复杂。这里因为Java中写数据结构的时候会使用到,所以加上。关于泛型我找了挺多文章,再结合自己的理解,尽可能将其讲清楚。不求会使用泛型,只要求后面数据结构出现泛型的时候能够知道是在干什么即可目录1.泛型概念2.泛型的使用2.1泛型类语法2.2泛型方法语法2.3泛型接口语法2.4泛型在main方法中的使用3.擦除机制4.泛型的上界5.通配符5.1通配符的上界5.2通配符的下界6.包装类6.1装箱和拆箱.原创 2022-05-02 20:35:22 · 1191 阅读 · 3 评论