
数据结构
文章平均质量分 66
SPMAX
这个作者很懒,什么都没留下…
展开
-
【多线程】HashMap、HashTable和ConcurrentHashMap的联系
【多线程】HashMap、HashTable和ConcurrentHashMap的联系原创 2022-09-18 17:24:23 · 292 阅读 · 0 评论 -
【数据结构】堆(优先级队列)
堆也叫优先级队列,是一种形状是完全二叉树的数据结构,一般用数组存储。为什么叫优先级队列呢,因为这个数据结构分为两种堆,第一种叫小根堆,第二种叫大根堆 。小根堆,意思是在根结点上的数是这个完全二叉树里面最小值,然后所有的子树都是一个小根堆。同理,大根堆里面所有的子树都是大根堆,子树里面的根结点都是子树里面最大的树。下面模拟实现一遍大根堆作为例子便于体会堆这个数据结构:首先定义堆的核心:数组1:然后开始创建一个堆,思路是传入一个数组,将这个数组定义成一个完全二叉树形状的堆。核心在原创 2022-05-29 23:43:52 · 410 阅读 · 0 评论 -
【数据结构】链表的模拟实现(双向链表)
学习是一个循序渐进的过程,在模拟实现完单向链表后,接下来实现双向链表,且双向链表就是我们使用Java库里面的链表时候的底层的样子,所以现在来模拟实现一遍。其实在实现完单向链表之后,双向链表就已经很简单了,具体实现思路我们不过多阐述,代码里面有注释,但会在需要注意的地方进行表述和解释。双向链表图解:主要需要实现功能:1:实现双向链表头插。2:实现双向链表尾插。3:实现双向链表全部元素打印。4:实现得到双向链表元素个数。5:实现双向链表某个位置插入元素。6:实现双向链表某个.原创 2022-05-09 19:16:33 · 515 阅读 · 0 评论 -
【数据结构】链表的模拟实现(单向链表)
在学完顺序表后,学习了链表的使用以及一些功能,然后下面将自己模拟实现一遍链表,加深对链表的理解。链表的模拟实现主要包括以下功能:1:实现在链表头部插入元素。2:实现在链表尾部插入元素。3:实现链表所有元素的打印。4:实现在链表中进行插入元素。5:实现链表中某个位置的元素删除。6:实现获取链表中结点的个数模拟实现链表准备工作:定义一个Mylinkedlist的类,成员变量有size,用于记录链表中结点的个数;然后在类里面定义一个静态内部类Linkedlist,用于表示.原创 2022-05-03 19:22:24 · 1199 阅读 · 0 评论 -
【数据结构】顺序表实现杨辉三角、扑克牌(Java实现)
在学完数据结构中的顺序表后,为了加深对顺序表的了解以及用于实际,于是我用顺序表模拟实现了杨辉三角、扑克牌结构。杨辉三角:主要实现思想:从第三行开始后的每一行,每一行的第二列到倒数第二列的数字都由上一行的与现在行的列数相同的列的数字和上一行前一列的数字的和。就如图所示:从第三行开始,第三行的第二列开始,第二列的元素等于第二行的第二列元素和前一列元素的和,就是红色部分等于蓝色和黄色的和,之后的每一行都如此。但每一行的首和尾都是1,这个要独立放置。即公式为:a[k][p]=b[k-原创 2022-04-30 02:11:36 · 1574 阅读 · 0 评论 -
【数据结构】顺序表的模拟实现
学习数据结构,第一个学习的结构就是顺序表,下面将用Java来模拟实现顺序表。顺序表实现实现一个顺序表包括功能:1:在表中末尾添加元素。2:在表中指定位置删除元素。3:获取指定表中的元素。4:修改表中指定位置下的元素。5:获取顺序表中元素个数6:打印表中所有的元素。7:清除表中所有元素。8:扩容顺序表首先定义一个类,包括了以上功能的方法,以及成员变量:NumSize代表表中可存储的容量,nowSize代表当前元素的个数,arrays数组代表顺序表。原创 2022-04-29 16:46:01 · 1015 阅读 · 0 评论