![](https://img-blog.csdnimg.cn/20210106104040311.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Data structure
数据结构学习整理
Pablo Jolly
今日事,今日毕。昨天,今天,和明天!
展开
-
SingleLinkedList(单链表)
SingleLinkedList(单链表)SingleLinkedList单链表结构中,将数据存放在各个节点中。如下图所示,在每个节点内部,有两部组成。(data+next)即数据和指针。所谓单链表无疑是链式存储方式,节点中的next指针指向下一个节点,存储空间不是连续的。单链表结构中有两种形式(下文以带头结点的单链表为例)带头结点的单链表头节点起标记作用,节点中不存放具体数据。next指向第一个有具体数据的节点不带头结点的单链表Operation原创 2021-01-22 12:07:26 · 685 阅读 · 1 评论 -
环形队列(数组模拟)
CircleArrayQueue(环形队列)为了解决数组模拟实现队列遗留的缺陷,尝试用CircleArrayQueue来优化。环形队列思路:front变量的含义,做以下调整:front就指向队列的第一个元素,也就是说arr[front]就是队列的第一个元素,front初始值为0rear变量的含义,做以下调整:rear指向队列的最后一个元素的后一个位置,空出一个空间作为约定(一种算法实现思路,不唯一)判断队列为满:(rear + 1) % maxSize == front判断队列为原创 2021-01-19 18:54:01 · 250 阅读 · 0 评论 -
ArrayQueue(数组模拟队列)
ArrayQueue(数组模拟队列)队列介绍:队列是一个有序列表,可用数组或链表进行实现.遵循先入先出原则。即,先存入队列的数据先取出,后存入的数据要后取出。示意图(使用数组模拟队列):数组模拟队列的思路:队列本身是一个有序列表,如使用数组结构来存储队列的数据,则需要声明如下//用数组模拟实现队列 -- 创建一个ArrayQueue类class ArrayQueue { private int maxSize; //表示数组的最大容量 pri原创 2021-01-19 11:16:14 · 2922 阅读 · 0 评论 -
SparseArray稀疏数组
SparseArray稀疏数组二维数组转稀疏数组的思路:遍历原始的二维数组,得到有效数据的个数sum根据sum就可以创建稀疏数组SparseArray int [sum+1] [3]将二维数组的有效数据存放在稀疏数组中稀疏数组转原始的二位数组的思路:先读取稀疏数组的第一行,根据第一行的数据,创建原始的二维数组。在读取稀疏数组的后几行,并赋值给原始的二维数组即可。/** * Created with IntelliJ IDEA. * User: Joeo8 * Tim原创 2021-01-17 19:50:58 · 131 阅读 · 0 评论 -
数据结构
Data Structure 数据结构是为实现对计算机数据有效使用的各种数据组织形式,服务于各类计算机操作。不同的数据结构具有各自对应的适用场景,旨在降低各种算法计算的时间与空间复杂度,达到最佳的任务执行效率。如下图所示,常见的数据结构可分为「线性数据结构」与「非线性数据结构」,具体为:「数组」、「链表」、「栈」、「队列」、「树」、「图」、「散列表」、「堆」。...原创 2021-01-08 10:07:16 · 97 阅读 · 2 评论