稀疏数组
当一个数组大部分元素为0或同一个值。可以用稀疏数组保存该数组
1.记录有几行几列,有多少不同的值
2.有用的值放在一个更小的数组中
原始数组有很多没有用的数据,稀疏数组就是精简版
原始的二维数组变成了稀疏数组,
稀疏数组重新恢复为二维数组
行 列 值
row col val
0 11 11 2
1 1 3 1
下标和数组的是一样的表示方式 0开始的下标
第一行分别代表 几行 几列 几个有效值
稀疏数组转二维数组的思路
- 遍历二维数组,得到有效数字的个数sum
- 根据sum,大致创造稀疏数组 列是固定的,
- 将二维数组的有效数据存储到sum列
稀疏数组的第一行是原始的,及几行几列 有效值
根据第一行的数据创造原始的数组
比如 就是11*11的数组
读取稀疏数组后几行的数据,并赋给原子的二维数组
把数组转到磁盘 是IO流的部分 ;