1. 对称矩阵
采用一维数组进行存储,例如test[3][3]={ { 1 , 2 , 3 } , { 2 , 1 , 3 } , { 3 , 3 , 1 } }存进 ans [ ] 里面;
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
ans[ len++ ]=test[ i ] [ j ];
解压缩则反转:
例如 test [ i ] [ j ]=len [ i * ( i + 1 ) / 2 + j ] ; //其中i*(i+1)/ 2 是所在行;
2. 稀疏矩阵
即矩阵元素多为0的情况下,介绍三元组方法;
即记录矩阵非0元素所在行列,以及值;
例如 val ( 1 ,2 , 10 ) ,表示矩阵第1行,第二列的值为10;
由于是稀疏矩阵,所以存储效率很高;