Java数据结构与算法——稀疏数组

数据结构

线性结构和非线性结构
线性结构(最常用的数据结构):
	特点是一对一的线性关系
	常见的线性结构:数组,队列,链表,栈等

什么是稀疏数组

当数组中大部分的元素值未使用或为同一个值时,真正有效的元素很少,
不需要浪费大量的空间去存储所有的元素值,我们只需要存放少量的有效元素值
此时可以用稀疏数组
例如棋盘可以看做一个二维数组,这个数组中大部分元素为空,棋子较少,很适合稀疏数组

稀疏数组如何存储元素

稀疏数组本身就是一个二维数组,可以看做一个数组元素组成的长方形
将原始数组看做一个数组元素组成的长方形
列的长度恒定为3列,行的长度为原始二维数组中有效元素+1
第一行第一列是原始数组的总行数
第一行第二列是原始数组的总列数
第一行第三列是原始数组的有效元素个数

第二行第一列是第一个有效元素的行数
第二行第二列是第一个有效元素的列数
第二行第三列是第一个有效元素的元素值
...
..
.
发布了30 篇原创文章 · 获赞 0 · 访问量 357

猜你喜欢

转载自blog.csdn.net/qq_31241107/article/details/104256672