实现稀疏矩阵(采用三元组表示)的基本运算实验报告.pdf

上传人:l*** 文档编号:82075096 上传时间:2023-03-24 格式:PDF 页数:8 大小:250KB
返回 下载 相关 举报
实现稀疏矩阵(采用三元组表示)的基本运算实验报告.pdf_第1页
第1页 / 共8页
实现稀疏矩阵(采用三元组表示)的基本运算实验报告.pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《实现稀疏矩阵(采用三元组表示)的基本运算实验报告.pdf》由会员分享,可在线阅读,更多相关《实现稀疏矩阵(采用三元组表示)的基本运算实验报告.pdf(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、百度文库-好好学习,天天向上-1 实现稀疏矩阵(采用三元组表示)的基本运算实验报告 一 实验题目:实现稀疏矩阵(采用三元组表示)的基本运算 二 实验要求:(1)生成如下两个稀疏矩阵的三元组 a 和 b;(上机实验指导 P92)(2)输出 a 转置矩阵的三元组;(3)输出 a+b 的三元组;(4)输出 a*b 的三元组;三 实验内容:稀疏矩阵的抽象数据类型:ADT SparseMatrix 数据对象:D=aij|i=1,2,3,.,m;j=1,2,3,n;ai,jElemSet,m 和 n 分别称为矩阵的行数和列数 数据关系:R=Row,Col Row=|1 im,1 j n-1 Col=|1i

2、m-1,1jn 基本操作:CreateSMatrix(&M)操作结果:创建稀疏矩阵 M PrintSMatrix(M)初始条件:稀疏矩阵 M 已经存在 操作结果:打印矩阵 M DestroySMatrix(&M)初始条件:稀疏矩阵 M 已经存在 操作结果:销毁矩阵 M CopySMatrix(M,&T)百度文库-好好学习,天天向上-2 初始条件:稀疏矩阵 M 已经存在 操作结果:复制矩阵 M 到 T AddSMatrix(M,N,&Q)初始条件:稀疏矩阵 M、N 已经存在 操作结果:求矩阵的和 Q=M+N SubSMatrix(M,N,&Q)初始条件:稀疏矩阵 M、N 已经存在 操作结果:求矩

3、阵的差 Q=M-N TransposeSMatrix(M,&T)初始条件:稀疏矩阵 M 已经存在 操作结果:求矩阵 M 的转置 T MultSMatrix(M,N,&Q)初始条件:稀疏矩阵 M 已经存在 操作结果:求矩阵的积 Q=M*N ADT SparseMatrix 存储结构的定义#define N 4 typedef int ElemType;#define MaxSize 100 =i;.c=j;.d=Aij;+;void DispMat(TSMatrix t)int i;if=0)百度文库-好好学习,天天向上-3 return;printf(t%dt%dt%dn,;printf(t-

4、n);for(i=0;i;i+)printf(t%dt%dt%dn,i.r,i.c,i.d);解题思路:1.转置矩阵:只要判定原矩阵有值,那么只要遍历一遍原矩阵,把原来矩阵中非 0 元素行列变换一下赋值到新的矩阵中即可。2.矩阵加法:用各种 if 判断,区分出矩阵进行加法时的可能情况,分情况处理即可。3.矩阵乘法:通过 getvalue(c,i,j)函数查找 矩阵 c 中 i 行 j 列,所储存的元素的值。然后便是模拟矩阵乘法的过程进行求解。解题过程:实验源代码如下:顺序表的各种运算#include 百度文库-好好学习,天天向上-4#define N 4 typedef int ElemTyp

5、e;#define MaxSize 100 =i;.c=j;.d=Aij;+;void DispMat(TSMatrix t)int i;if=0)return;printf(t%dt%dt%dn,;printf(t-n);for(i=0;i;i+)printf(t%dt%dt%dn,i.r,i.c,i.d);void TranMat(TSMatrix t,TSMatrix&tb)int p,q=0,v;=v)q.r=p.c;q.c=p.r;q.d=p.d;q+;bool MatAdd(TSMatrix a,TSMatrix b,TSMatrix&c)百度文库-好好学习,天天向上-5 int

6、i=0,j=0,k=0;ElemType v;if!=|!=return false;=j.r)j.c)=j.r;=j.c;k.d=j.d;k+;j+;else+j.d;if(v!=0)=i.r;k.c=i.c;k.d=v;k+;i+;j+;else if i.rj.r)=i.r;=i.c;k.d=i.d;k+;i+;else =j.r;=j.c;k.d=j.d;k+;j+;百度文库-好好学习,天天向上-6 =k;return true;int getvalue(TSMatrix c,int i,int j)int k=0;while(k&k.r!=i|k.c!=j)k+;if(k retur

7、nk.d);else return(0);bool MatMul(TSMatrix a,TSMatrix b,TSMatrix&c)int i,j,k,p=0;ElemType s;if!=i;p.c=j;p.d=s;p+;=;=;百度文库-好好学习,天天向上-7 =p;return true;int main()ElemType a1NN=1,0,3,0,0,1,0,0,0,0,1,0,0,0,1,1;ElemType b1NN=3,0,0,0,0,4,0,0,0,0,1,0,0,0,0,2;TSMatrix a,b,c;CreatMat(a,a1);CreatMat(b,b1);printf(a 的三元组:n);DispMat(a);printf(b 的三元组:n);DispMat(b);printf(a 转置为 cn);TranMat(a,c);printf(c 的三元组:n);DispMat(c);printf(c=a+bn);MatAdd(a,b,c);printf(c 的三元组:n);DispMat(c);printf(c=abn);MatMul(a,b,c);printf(c 的三元组:n);DispMat(c);return 0;百度文库-好好学习,天天向上-8 四 实验结果

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com