稀疏数组是压缩存储大量零值二维数组的结构,首行存原数组行列数和有效值个数,后续每行存一个非零值的行列下标及值,用于节省内存并支持还原。

Java稀疏数组是一种专门用来压缩存储“大量零值或重复值”的二维数组的数据结构。它不保存全部元素,只记录那些真正有意义的非零(或非默认)值及其位置,从而大幅减少内存占用。
稀疏数组长什么样
它本身就是一个普通的二维int数组,但有固定格式:
- 第一行存三个数:原数组总行数、总列数、有效值个数
- 后面每一行存一个有效值:行下标、列下标、对应值
比如原数组是11×11,只有[1][2]=1和[2][3]=2两个非零值,那稀疏数组就是4行3列:
[0][0]=11, [0][1]=11, [0][2]=2
[1][0]=1, [1][1]=2, [1][2]=1
[2][0]=2, [2][1]=3, [2][2]=2
为什么用稀疏数组
核心就一个字:省。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~