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

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

ID:2595942

大小:70.50 KB

页数:6页

时间:2017-11-17

稀疏矩阵的压缩存储方法及主要运算的实现_第1页
稀疏矩阵的压缩存储方法及主要运算的实现_第2页
稀疏矩阵的压缩存储方法及主要运算的实现_第3页
稀疏矩阵的压缩存储方法及主要运算的实现_第4页
稀疏矩阵的压缩存储方法及主要运算的实现_第5页
资源描述:

《稀疏矩阵的压缩存储方法及主要运算的实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.实验目的:掌握稀疏矩阵的压缩存储方法及主要运算的实现。2.实验内容与要求:设计一个稀疏矩阵计算器,要求能够:⑴输入并建立稀疏矩阵;⑵输出稀疏矩阵;⑶执行两个矩阵相加;⑷执行两个矩阵相乘;⑸求一个矩阵的转置矩阵。3.数据结构设计逻辑结构:线性结构存储结构:顺序存储结构4.算法设计#include#defineMAXSIZE100typedefintdatatype;typedefstruct{inti,j;datatypev;}Triple;typedefstruct{Tripl

2、edata[MAXSIZE+1];intrpos[MAXSIZE+1];intmu,nu,tu;}RLSMatrix;intmain(){voidAddSMatrix(RLSMatrixM);voidMultSMatrix(RLSMatrixM);voidFastTransposeSMatrix(RLSMatrixM);RLSMatrixM;intk;printf("请输入稀疏矩阵M的行数、列数和非零元素个数:");scanf("%d%d%d",&M.mu,&M.nu,&M.tu);printf("

3、请输入稀疏矩阵M中非零元素的行号、列号和元素的值:");for(k=1;k<=M.tu;k++)scanf("%d%d%d",&M.data[k].i,&M.data[k].j,&M.data[k].v);printf("请输出稀疏矩阵M中非零元素的行号、列号和元素的值:");for(k=1;k<=M.tu;k++){printf("%d%3d%3d",M.data[k].i,M.data[k].j,M.data[k].v);printf("");}AddSMatrix(M);MultS

4、Matrix(M);FastTransposeSMatrix(M);return0;}voidAddSMatrix(RLSMatrixM){RLSMatrixN,R;intk,l=1,s=1;printf("请输入稀疏矩阵N的行数、列数和非零元素个数:");scanf("%d%d%d",&N.mu,&N.nu,&N.tu);printf("请输入稀疏矩阵N中非零元素的行号、列号和元素的值:");for(k=1;k<=N.tu;k++)scanf("%d%d%d",&N.data[k].i,&N.

5、data[k].j,&N.data[k].v);if(M.mu!=N.mu

6、

7、M.nu!=N.nu)printf("错误");else{R.mu=M.mu;R.nu=M.nu;k=1;if(M.tu*N.tu!=0){while(k<=M.tu&&l<=N.tu){if(M.data[k].i==N.data[l].i){if(M.data[k].j

8、M.data[k].v;k++;s++;}elseif(M.data[k].j==N.data[l].j){R.data[s].i=M.data[k].i;R.data[s].j=M.data[k].j;R.data[s].v=M.data[k].v+N.data[l].v;if(R.data[s].v!=0)s++;k++;l++;}else{R.data[s].i=N.data[l].i;R.data[s].j=N.data[l].j;R.data[s].v=N.data[l].v;l++;s+

9、+;}}elseif(M.data[k].i

10、.j=M.data[k].j;R.data[s].v=M.data[k].v;k++;s++;}while(l<=N.tu){R.data[s].i=N.data[l].i;R.data[s].j=N.data[l].j;R.data[s].v=N.data[l].v;l++;s++;}}printf("请输出稀疏矩阵M和稀疏矩阵N的和矩阵R中非零元素的行号、列号和元素的值:");for(k=1;k

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。