稀疏数组
稀疏数组
1.为什么使用稀疏数组
我们通常会遇到这样的情况,在一个二维数组中,只有少数几个位置存储了有效数据,其他位置都为0,这时,原来的二维数组就显得浪费内存空间了。
这时我们使用稀疏数组
将二维数组的总行数、总列数、有效数据个数,及有效数据所在的行数、列数及其值存储,这样既保留了原来数组的特征,同时压缩了占用的内存空间。
举个例子
这是一个原始的二维数组
1 |
|
2.稀疏数组的实现
2.1 我们希望稀疏是这样的
拿以上的普通二维数组为例
行 列 数
11 11 2 //稀疏数组的第一行存放的是原始数组的行、列、有效数据的总数
2 3 1 //第二行的”行“存储了第一个有效数据的行号;”列“存储了列号;”数“存储了有效数据的具体值
3 4 2 //同上,记录第二个数据
2.2稀疏数组的代码实现
稀疏数组
http://example.com/2022/10/18/稀疏数组/