自学-数据结构(java实现)
通往code农的道路
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构-带头节点单向链表
链表链表是以节点的方式来存储,是链式存储基本结构:data域, nextNode域(指向下一个节点)链表不是连续存储的链表分带头节点和没有带头节点单链表链表中每个链节点中仅包含一个nextNode域(指针域),这样的链表称为单链表带头节点的单链表在链表的第一个节点之前设一个节点,也叫头节点头节点的引入使得单链表的头指针永远不为空,从而方便了插入、删除等操作链式存储结构的特点优点不需要占用连续存储空间,使用链表前不用事先估计存储空间大小插入和删除操作时,不需要移动原创 2020-09-01 22:21:22 · 753 阅读 · 0 评论 -
数据结构-环形数组实现队列(使用教科书的方式,采用取模的方法)
队列根据上一篇【数据结构-简单数组模拟队列实现】的缺点不可复用,一次性如今使用环形数组的逻辑去优化上一篇的缺点环形数组思路front 表示列头的第一个元素,初始值为 front = 0rear 表示列尾的前一个元素,初始值为 rear = 0当 (rear + 1) % maxSize == front 表示队列已满当 rear == front 表示队列为空环形数组的有效数据个数 (rear + maxSize - front) % maxSizemaxSize 表示队列的容量,max原创 2020-08-31 19:36:35 · 347 阅读 · 0 评论 -
数据结构-简单数组模拟队列实现
列队队列是一个有序的列表,可以用数组或是链表来实现原创 2020-08-31 09:37:39 · 346 阅读 · 0 评论 -
数据结构-稀疏数组
稀疏数组概念:当一个数组(或多维)中大部分元素为0,或者为用一个值的数时,可以使用稀疏数组来压缩保存该数组。处理方式: 固定第一行记录数组的大小,第一行最后一列记录有多少个不同的值的个数(除去大部分相同的值) 固定第二行之后记录某位置的具体值 具体实际需求场景: 在五子棋程序中,需要实现有存档退出和续上局功能的核心数据结构分析需求: 五子棋:棋盘 棋盘:二维数组 无棋子:0 黑棋子:1 白棋子:2 【存档功能】 棋盘--> 二维数组(当二维数组足够大时,会有很多默认值为0,原创 2020-08-13 11:04:18 · 181 阅读 · 0 评论 -
数据结构概念
数据结构包括线性结构和非线性结构线性结构是最常用的数据结构,特点是数据元素之间存在一对一的线性关系有两种不同的存储结构顺序存储结构(数组)顺序存储的线性表称为顺序表存储元素(地址)是连续的链式存储结构(链表)链式存储的线性表称为链表存储元素(地址)不一定是连续的常见结构:数组、队列、栈和链表等等非线性结构常见结构:二维数组、多维数组、广义表、图、树等等...原创 2020-08-13 10:31:10 · 254 阅读 · 0 评论 -
数据结构-顺序表的顺序存储
定义:用一组地址连续的存储单元依次存储线性表中每个数据元素,这种存储结构称为线性表的顺序存储结构,用这种结构表示的线性表称为顺序表。特点:用数据元素在计算机内物理位置相邻来表示线性表中数据元素之间的逻辑关系。存储位置:线性表中第i个数据元素ai的存储位置线性表的顺序存储结构为随机存储结构存储结构内存视图代码表示:顺序表的插入 /** *...原创 2019-11-11 10:08:01 · 3789 阅读 · 0 评论
分享