若一个稀疏矩阵有T个非零元素,则需要T+1行的三元组来表示稀疏矩阵.
一般对于M*N的矩阵来说.只要满足(T+1)*3<=M*N
这个条件那么使用三元组存储可以节省空间.
稀疏矩阵转换三元组算法
package Xishu;
public class XtoS {
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 } }; // 假设一个5*6矩阵
int comparessdata[][] = new int[10][3];
int index;
int i, j;
index = 0;
// 输出矩阵中所有元素
for (i = 0; i < 5; i++) {
for (j = 0; j < 6; j++) {
System.out.print("" + data[i][j] + "");
}
System.out.println("");
}
for (i = 0; i < 5; i++) {
for (j = 0; j < 6; j++) {
if (data[i][j] != 0) {
index++;
comparessdata[index][0] = i;
comparessdata[index][1] = j;
comparessdata[index][2] = data[i][j];
}
}
}
// 给三元组第0行赋值
comparessdata[0][0] = 5;
comparessdata[0][1] = 6;
comparessdata[0][2] = index;
// 输出三元组
for (i = 0; i < index + 1; i++) {
for (j = 0; j < 3; j++) {
System.out.print("" + comparessdata[i][j] + "");
}
System.out.println("");
}
}
}
分享到:
相关推荐
稀疏矩阵的三元组程序,完全正确.稀疏矩阵的三元组存储
//稀疏矩阵的三元组顺序表存储表示 #define MAXSIZE 100 //非零元个数最大为100 typedef struct {int i,j; //非零元的行下标和列下标 ElemType e; //非零元 }Triple; typedef struct {Triple data[MAXSIZE+1]; //...
稀疏矩阵(矩阵零元素个数远大于非零元素),为节省存储空间,用三元组
本程序以三元组表存储稀疏矩阵,可进行矩阵相加及转置运算。 TSMatrix A,B,C,D; cout请输入矩阵A和B的行数 列数 "; cin>>A.m>>A.n; B.m=C.m=D.m=A.m; B.n=C.n=D.n=A.n; cout请输入A中的非零元素个数: "; ...
稀疏矩阵不同与其它矩阵,相同元素或0元素较多,采用普通矩阵的存储方法浪费的空间较大,采用三元组压缩存储,可以节省较多的空间 这是学了数据结构后自己编写的一个小程序。 采用C语言实现稀疏矩阵的简单操作! 本...
稀疏矩阵(采用三元组表顺序存储) 包含稀疏矩阵的快速转置矩阵算法,加法,乘法
用三元组表示,实现了稀疏矩阵的压缩和存储
稀疏矩阵转置: 输入稀疏矩阵中每个元素的行号、列号、值,建立稀疏矩阵的三元组存储结构,并将此矩阵转置,显示转置前后的三元组结构。
稀疏矩阵转置: 输入稀疏矩阵中每个元素的行号、列号、值,建立稀疏矩阵的三元组存储结构,并将此矩阵转置,显示转置前后的三元组结构。
实现两个稀疏矩阵求和相减,相乘操作。 [基本要求] (1)矩阵可键盘输入。(2)输出求和,相减,相乘结果; (3)利用三元组数据结构。
稀疏矩阵的存储与转置,以及稀疏矩阵的三元组存储方法
利用三元组表对稀疏矩阵实现加法、减法及转置运算
已知稀疏矩阵用三元组表示编写C=A*B的算法。
[2]2带行表的矩阵相乘算法在用矩阵表示的图形中,可以发现矩阵中的零元素非常多,通常认为δ时称为稀疏矩阵(δ=非零元素个数/元素总数)。用上面的算法中,不论M(i,k)和N(k,j)的值是否为零,都要进行一次乘法运算,而实际...
矩阵的压缩存储--三元组顺序表(矩阵的转置)通过这种存储方式实行转置,让其更好的学习这种存储形式。解决思路: 将矩阵行、列维数互换 将每个三元组中的i和j相互调换 重排三元组次序
稀疏矩阵相加、相乘和转置(用三元组实现)
数据结构课程的稀疏矩阵的存储和乘法,c++描述
数据结构C语言版稀疏矩阵三元组顺序表存储表示和实现.doc
稀疏矩阵 设矩阵A mn 中有s个非零元素,若s远远小于矩阵元素的... 将表示稀疏矩阵的非零元素的三元组按行优先(或列优先)的顺序排列(跳过零元素),并依次存放在向量中,这种稀疏矩阵的顺序 存储结构称为三元组表。
稀疏矩阵的存储 矩阵加法乘法及转至 课程设计的原创,获得100分的满分习作