数据结构
数据结构与算法
难打的仗
这个作者很懒,什么都没留下…
展开
-
数据结构-单向链表-Java版
单向链表(Java实现)什么是链表?链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应原创 2021-09-03 21:33:39 · 137 阅读 · 0 评论 -
数据结构-数组实现循环队列-Java版
数组实现循环队列(Java版)什么是队列?先进先出的线性数据结构什么是循环队列?为充分利用向量空间,克服"假溢出"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列(Circular Queue)。循环队列是把顺序队列首尾相连,把存储队列元素的表从逻辑上看成一个环,成为循环队列。(来源:百度百科)什么是取磨操作?本章循环队列使用数组取磨操作实现头尾下标位置变化。取模操作:%例如:5%3=2 3%6=3循环队列各操作图原创 2021-08-30 13:43:02 · 159 阅读 · 0 评论 -
数据结构- 数组实现队列 -Java版
数组实现队列(Java)本章所实现的队列存在缺陷(空间不可以重复使用)本章目的是为了展现队列的先进先出的特点循环队列在这:循环队列队列图示解释1.head表示队列头部下标,默认值为-12.tail表示队列尾部下标,默认值为-13.入队:先将tail下标后移一位,再将入队元素赋值于arr[tail];4.出队:先将head下标后移一位,再将当前head上元素元素弹出arr[head];5.判断队空:head=tail 时对空6.判断队满:MaxSize = tail+1;原创 2021-08-29 17:00:12 · 122 阅读 · 0 评论 -
数据结构-稀疏数组-Java版本
在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵;与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵。定义非零元素的总数比上矩阵所有元素的总数为矩阵的稠密度原创 2021-08-29 13:16:00 · 100 阅读 · 0 评论