稀疏矩阵的压缩存储方法及主要运算的实现

上传人:飞*** 文档编号:54199125 上传时间:2018-09-09 格式:PDF 页数:6 大小:124.17KB
返回 下载 相关 举报
稀疏矩阵的压缩存储方法及主要运算的实现_第1页
第1页 / 共6页
稀疏矩阵的压缩存储方法及主要运算的实现_第2页
第2页 / 共6页
稀疏矩阵的压缩存储方法及主要运算的实现_第3页
第3页 / 共6页
稀疏矩阵的压缩存储方法及主要运算的实现_第4页
第4页 / 共6页
稀疏矩阵的压缩存储方法及主要运算的实现_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《稀疏矩阵的压缩存储方法及主要运算的实现》由会员分享,可在线阅读,更多相关《稀疏矩阵的压缩存储方法及主要运算的实现(6页珍藏版)》请在金锄头文库上搜索。

1、1.实验目的:掌握稀疏矩阵的压缩存储方法及主要运算的实现。 2.实验内容与要求:设计一个稀疏矩阵计算器,要求能够:输入并建立稀疏矩阵;输出稀疏矩阵;执 行两个矩阵相加;执行两个矩阵相乘;求一个矩阵的转置矩阵。3.数据结构设计 逻辑结构:线性结构 存储结构:顺序存储结构 4.算法设计#include #define MAXSIZE 100 typedef int datatype; typedef struct int i,j; datatype v; Triple; typedef struct Triple dataMAXSIZE+1; int rposMAXSIZE+1; int mu,n

2、u,tu; RLSMatrix; int main() void AddSMatrix(RLSMatrix M); void MultSMatrix(RLSMatrix M); void FastTransposeSMatrix(RLSMatrix M); RLSMatrix M; int k; printf(“ 请输入稀疏矩阵M 的行数、列数和非零元素个数:“); scanf(“%d%d%d“, printf(“ 请输入稀疏矩阵M 中非零元素的行号、列号和元素的值:n“); for(k=1;kMAXSIZE) printf(“ 错误 n“); else Q.dataQ.tu.i=arow;

3、Q.dataQ.tu.j=ccol; Q.dataQ.tu.v=ctempccol; printf(“ 请输出稀疏矩阵M 和稀疏矩阵D 的乘积矩阵Q 中非零元素的行号、列号和元素的值 :n“); for(ccol=1;ccol=Q.tu;ccol+) printf(“%d%3d%3dn“,Q.dataccol.i,Q.dataccol.j,Q.dataccol.v); void FastTransposeSMatrix(RLSMatrix M) RLSMatrix T; int numMAXSIZE,cpotMAXSIZE,col,p,q,t; T.mu=M.mu;T.nu=M.nu;T.tu

4、=M.tu; if(T.tu!=0) for(col=1;col=M.mu;col+) numcol=0; for(t=1;t=M.tu;t+) numM.datat.j+; cpot1=1; for(col=2;col=M.nu;col+) cpotcol=cpotcol-1+numcol-1; for(p=1;p=M.tu;p+) col=M.datap.j; q=cpotcol; T.dataq.i=M.datap.j; T.dataq.j=M.datap.i; T.dataq.v=M.datap.v; cpotcol+; printf(“ 请输出将稀疏矩阵M转置后的稀疏矩阵T 中非零元素的行号、列号和元素的值:n“); for(col=1;col=T.tu;col+) printf(“%d%3d%3dn“,T.datacol.i,T.datacol.j,T.datacol.v);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号