![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 96
小周学编程~~~
越努力,越幸运
展开
-
【排序专题】不会吧,不会吧居然还有人不懂排序算法?有彩蛋哦
首先我们说一下堆的定义:其实就是一个完全二叉树,大家肯定知道完全二叉树的的定义吧。原创 2022-11-23 11:32:15 · 936 阅读 · 4 评论 -
【红黑树】都这样讲了,不会还有人不会红黑树吧
我们在前面学习过二叉树,而二叉树有被简单的分为普通二叉树,二叉搜索树,完全二叉树,二叉平衡树等,在二叉搜索树中包含有 AVL树,红黑树。博主在以前的文章中写过AVL树的相关内容,有兴趣的读者可以去康康,直接甩链接(124条消息) 【数据结构高阶】终于有人把AVL树给说清了_小小怪下士~的博客-CSDN博客我们学习过AVL树的同学们都知道,AVL树是一个绝对平衡的二叉树,所谓的绝对平衡说的就是一个节点的左右子树的高度之差的绝对值是不能超过1的,我们同时也知道这个。原创 2022-11-08 11:25:49 · 3863 阅读 · 5 评论 -
【HashMap】1w字解析HashMap底层部分源码
总体来说就是判断当前的table为不为空,它的长度是不是0,如果是的话就创建出一个新的Tab并且使用resize()方法,得到这个数组的长度,和数组扩容阈值.然后在使用传来的hash码,计算出这个节点应该落在hash数组的哪个下标上。再然后一个hash数组中的下标位置中的节点数binCount++,判断此时的size是否大于数组扩容阈值。返回一个null。原创 2022-11-06 13:54:49 · 841 阅读 · 4 评论 -
【数据结构高阶】终于有人把AVL树给说清了
二叉搜索树又被称为二叉排序树,它是一棵空树,或者是具有一下性质的二叉树若它的左子树不为空,则左子树上所有的节点的值都小于根节点的值。若它的右子树不为空,则右子树上所有的节点的值都大于根节点的值。它的左右子树也分别为二叉搜索树。图例: 从上述概念以及图中可以看出,二叉搜索树具有以下的特性:既然将其称为二叉搜索树,因此这颗树主要是用来进行查找元素,而且查询的原理特别简单。具体如下:题目在一棵二叉搜索树中,查找某个值,如果在树中存在这个元素,那么就返回true,否则返回false图例:插入和删除操作,都是建立在原创 2022-07-09 12:16:32 · 776 阅读 · 4 评论 -
【数据结构刷题篇】链表篇
文章目录1.将单链表按值划分为链表左边小,中间相等,右边大的结构思路1.0荷兰国旗问题思路2.02.复制含有任意指针指向的链表思路1.0思路2.03.两个单链表相交的一系列问题1.子问题一:2.子问题二:3.子问题三:4.链表中的数字相加1.题目1.02.题目2.05.反转链表II1.将单链表按值划分为链表左边小,中间相等,右边大的结构题目分析:简单的来说就是把链表中的节点按照题目中给定话划分值target,给隔开,小于target的节点串到一块,等于target的节点串到一块,大于target的链表节原创 2022-01-11 12:02:03 · 876 阅读 · 3 评论 -
[java数据结构篇]栈和队列的使用
文章目录1.栈有关栈的相关概念栈的相关方法:中缀表达式转化成为后缀表达式手动实现一个栈(底层为数组)手动实现一个栈(底层为单链表)队列有关队列的基本概念队列相关的一些常用方法手动实现一个队列(底层为单链表)手动实现一个队列(底层为一个循环数组)双端队列栈和队列的相关习题1.括号匹配2.后缀表达式转化成为中缀表达式,并计算结果3.实现最小栈4.两个栈实现一个队列5.两个队列实现一个栈6.棒球比赛7.栈的压入,弹出序列8.比较含有退格的字符串9.猫狗收容所1.栈有关栈的相关概念**首先栈是一种基础的较为常原创 2021-12-27 22:23:28 · 1307 阅读 · 8 评论 -
[java数据结构篇]List,ArrayList,LinkedList的使用
文章目录一.List的使用常用方法:代码演示:二.ArrayList的使用相关构造方法的介绍:关于ArrayList的初始容量分析:三.LinkedList的使用LinkedList的简单介绍关于LinkedList的构造方法:四.代码练习题。一.List的使用常用方法:方法解释boolean add(E e)尾插 evoid add(int index, E element)将 e 插入到 index 位置boolean addAll(Collection<原创 2021-12-23 12:35:33 · 1409 阅读 · 11 评论 -
[数据结构篇]深入了解java集合框架
文章目录java集合框架简单介绍集合框架一览图java集合框架的优点和作用基本关系说明collection接口说明collection接口的一些常用方法Map接口说明Map接口的一些常用方法前言:java语法基础,博主已经更完了,接下来就要进入数据结构这新的篇章了,紧跟博主,从此让数据结构变得简单,让你爱上数据结构。java集合框架简单介绍Java 集合框架 Java Collection Framework ,又被称为容器 container ,是定义在java.util 包下的一组接口 inter原创 2021-10-23 00:32:36 · 771 阅读 · 4 评论 -
[数据结构](线性表之单链表)
文章目录????为何要使用链表???? 单链表是什么单链表的数据存储方式????单链表之创建链表????单链表之打印链表????单链表之计算链表长度????单链表之增删查改单链表之头插法单链表之尾插法单链表之把一个节点插到链表中的任意位置单链表之查找链表中是否某个元素单链表之删除的一次出现value值的节点单链表之删除链表中出现value值的所有节点单链表之清空链表总汇:????为何要使用链表博主在上一篇博客中详细介绍了线性表的顺序结构,也就是顺序表的各种功能,例如增删除改等,详细请看上一篇博客顺序表原创 2021-08-10 20:36:00 · 1569 阅读 · 10 评论 -
[数据结构](双链表的实现,以及双链表和单链表之间的比较,链表和顺序表的优劣)
文章目录????双链表简单介绍:????双链表基本实现和各种功能实现:???? 双链表和单链表的比较????链表和顺序表的优劣????双链表简单介绍:博主在前面介绍了单链表,并实现了它的基本功能,详细请看博客单链表,相信有一点链表基础的同学肯定会知道,单链表的每个节点都有两部分组成那就是数据域和指针域,指针域指向下一个节点中数据域的地址。而双链表一个节点中包含三个部分,数值域,指向后继节点的指针,还有指向前驱节点的指针。它在单链表的基础上优化了很多,例如尾插法等就不用了逐个遍历链表节点,直接就可以找到链原创 2021-09-07 23:01:17 · 1700 阅读 · 17 评论 -
[数据结构](线性表之单链表,搞懂这几个题,链表基础就算搞懂了)
文章目录1.反转链表2.返回链表的中间节点3.返回链表中倒数第k个节点4.判断链表是否有环5.合并两个有序链表,为一个有序大链表6.已知链表有环,返回链表的入环节点7.判断链表是否是回文链表8.分割链表9.删除链表的中间节点10.链表相交,返回链表链表的相交节点11.从尾到头打印链表1.反转链表在以下的问题中都需要一个测试类,TestDemo.java文件,测试方法功能。以及实现链表功能的函数,这些功能方法都存放在MyLinkedList.java文件中TestDemo.java文件: public原创 2021-08-19 22:24:09 · 983 阅读 · 9 评论 -
[数据结构](线性表之顺序表)
文章目录1.什么是线性表?2.什么是顺序表?增删查改1.什么是线性表?线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串等线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。2.什么是顺序表?顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改原创 2021-08-05 13:29:39 · 438 阅读 · 2 评论