稀疏数组(sparsearray)
当一个数组大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。
稀疏数组的处理方法是:
- 记录数组一共有几行几列,有多少个不同的值
- 把具有不同值的元素的行及列值记录在一个小规模的数组中,从而缩小程序的规模。
二维数组转稀疏数组思路:
- 遍历原始的二维数组,得到有效数据的个数sum;
根据sum创建稀疏数组sparseArr int[sum + 1][3];
将二维数组的有效数据存入到稀疏数组。
稀疏数组转二维数组:
- 点读取稀疏数组的第一行,创建原始的二维数组,比如上面的chessArr2 = int[11][11];
读取稀疏数组后面的几行数据,并赋给原始的二维数组。
1 | public class SparseArray |