数据结构
文章平均质量分 70
这是一个死肥宅
多谢指导!
展开
-
java用数组实现栈
栈的介绍栈的英文为(stack)栈是一个先入后 出(FILO-First In Last Out)的有序列表。栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除。出栈(pop)和入栈(push)的概念:栈的应用场景:子程原创 2020-08-16 16:26:35 · 869 阅读 · 0 评论 -
java实现双向链表
参考于视频 尚硅谷Java数据结构与java算法,韩顺平数据结构与算法单链表的缺点:关于单链表的java实现可以查看我的上一篇文章(建议配合着学习):java实现单链表单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。单向链表不能自我删除,需要靠辅助节点,而双向链表,则可以自我删除,所以在单链表删除时节点,总是找到temp,temp是待删除节点的前一个节点。双向链表的操作分析与实现:遍历方法和单链表一样,只是可以向前,也可以向后查找添加(默认添加到双向链表的最后)(原创 2020-08-16 15:31:04 · 663 阅读 · 0 评论 -
java实现单链表
参考于 尚硅谷Java数据结构与java算法,韩顺平数据结构与算法1.什么是链表:链表是有序的列表,但是它在内存中可以以不连续空间存放,存储如下根据上图,可以发现:链表是以节点的方式来存储,是链式存储每个节点包含 data 域,next域:指向下一个节点.链表的各个节点不一定是连续存储.链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定(头节点一般不存储数据,只用于作为标识)因而带头节点的单链表的逻辑结构可以看作:2.单链表的实现需求:使用带head头节点的单链表;原创 2020-08-16 14:19:03 · 488 阅读 · 0 评论 -
java数组模拟实现队列
转载自 尚硅谷Java数据结构与java算法,韩顺平数据结构与算法队列介绍队列是一个有序列表,可以用数组或是链表来实现。遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出示意图: (使用数组模拟队列示意图)数组模拟队列思路➢队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图,其中maxSize 是该队列的最大容量。➢因为队列的输出、 输入是分别从前后端来处理,因此需要两个变量front 及rear 分别记录队列前后端的下标,front会随着数据原创 2020-08-11 22:18:33 · 275 阅读 · 0 评论 -
java二维数组与稀疏数组的转换实现
参考于 尚硅谷Java数据结构与java算法,韩顺平数据结构与算法1.基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:记录数组一共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模2.应用实例使用稀疏数组, 来保留类似前面的二维数组(棋盘、地图等等)把稀疏 数组存盘,并且可以从新恢复原来的二维数组数整体思路分析:下图为棋盘数据,用0,1,2分别表示无子,黑子,蓝子原创 2020-08-10 22:08:27 · 243 阅读 · 0 评论