稀疏数组
作者:互联网
稀疏数组
1.定义
稀疏数组可以看做是普通数组的压缩,但是这里说的普通数组是值无效数据量远大于有效数据量的数组
比如
其稀疏数组形式为
rows cols n
这里我们约定用第1行数据来记录原二维数组的规模,第 1 个值为原数组总行数,第 2 个值为原数组列数,第 3 个值为有价值数据的总数。
2.储存
刚说到稀疏数组是一种压缩后的数组,为什么要进行压缩存储呢?
-
原数组中存在大量的无效数据,占据了大量的存储空间,真正有用的数据却少之又少
-
压缩存储可以节省存储空间以避免资源的不必要的浪费,在数据序列化到磁盘时,压缩存储可以提高IO效率
这样,我们就将原数组数据,优化为了一个稀疏数组
二维数组转稀疏数组
根据上面的原理,我们就可以通过代码方式,将原来的普通二维数组,优化为一个稀疏数组了,具体编码如下:
标签:个值,压缩,稀疏,二维,数组,数据 来源: https://www.cnblogs.com/gczly/p/16284865.html