稀疏矩阵,是零元素较多的矩阵。
一般只要满足(t+1)*3<=m*n,t是非零元素个数,mn是矩阵行列数,就可以用三元组表示稀疏矩阵,可以节省空间。
稀疏矩阵的压缩存储采用三元组的方法实现。其存储规则是:每一个非零元素占一行,每行中包含非零元素所在的行号、列号、非零元素的数值。为完整描述稀疏矩阵,一般在第一行描述矩阵的行数、列数和非零元素总个数。
首先应将稀疏矩阵转换为三元组存储,然后再利用三元组的存储,实现对矩阵的各种运算。
public class xishuArray {
public static void main(String[]args){
int[][]data={{0,0,0,0,0,0},
{0,3,0,0,0,0},
{0,4,0,0,0,0},
{0,0,9,0,0,0},
{0,0,0,0,0,0}};
int i,j;
int index=0;
int[][] arr=new int[4][3];
for( i=0;i<data.length;i++){
for( j=0;j<data[0].length;j++){
if(data[i][j]!=0){
index++;
arr[index][2]=data[i][j];
arr[index][0]=i;
arr[index][1]=j;
//index++;
}
}
}
arr[0][0]=data.length;
arr[0][1]=data[0].length;
arr[0][2]=index;
for(int y=0;y<arr.length;y++){
for(int z=0;z<arr[0].length;z++){
System.out.print(arr[y][z]+" ");
}
System.out.println();
}
}
}
稀疏矩阵与三元组表示法
3242

被折叠的 条评论
为什么被折叠?



