实验六、稀疏矩阵的建立与转置(答案)_第1页
实验六、稀疏矩阵的建立与转置(答案)_第2页
实验六、稀疏矩阵的建立与转置(答案)_第3页
实验六、稀疏矩阵的建立与转置(答案)_第4页
实验六、稀疏矩阵的建立与转置(答案)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上实验六、稀疏矩阵的建立与转置一、 实验目的:1、 了解稀疏矩阵的三元组存储形式。2、 熟悉掌握三元表存储矩阵的转置算法。二、 实验内容:矩阵是很多的科学与工程计算中研究的数学对象。在此,我们感兴趣的是,从数学结构这门学科着眼,如何存储矩阵的元从而使矩阵的各种运算有效的进行。本来,用二维数组存储矩阵,在逻辑上意义是很明确的,也很容易理解,操作也很容易和方便。但是在数值分析中经常出现一些阶数很高的矩阵,同时,在矩阵中又有很多值相同或者都为零的元素,可以对这种矩阵进行压缩存储:对多个值相同的元素只分配一个存储空间;对零元素不分配空间。稀疏矩阵的定义是一个模糊的定义:即非零元

2、个数较零元个数较少的矩阵。例如下图所示的矩阵: 0 12 9 0 0 0 00 0 0 0 0 0 0 3 0 0 0 0 14 00 0 24 0 0 0 00 18 0 0 0 0 015 0 0 -7 0 0 0为一个稀疏矩阵。为了实现稀疏矩阵的这种存储结构,引入三元组这种数据结构。三元组的线性表顺序存储形式如下图:MUNUTUIIVIJVIJVA, B:ARRAY1。MAXNUMOF TUPLE3TP 三、 实验步骤看懂书上的算法,参考书上的程序编写程序上机调试、输入数据、检验结果。四、 程序流程图开始置B为A的空转置矩阵非零元个数=0 ? Q = 1 ;COL = 1;COL列值?P

3、非零元个数?若三元组的列号为所寻列,则置换之。Q = Q+1结 束开 始调用建立稀疏矩阵过程调用转置矩阵过程调用输出矩阵过程结 束 Y N Y N COL+1 Y P+1四、 参考程序struct tuple3tp /*稀疏矩阵的建立和转置*/int i,j;int v;struct sparmattpint mu,nu,tu;struct tuple3tp data31;struct sparmattp a,b;void crt_sparmat()int i;printf("输入稀疏矩阵行值,列值,最大非零元个数:");scanf("%d%d%d",&

4、amp;a.mu,&a.nu,&a.tu);for(i=1;i<=a.tu;i+)printf("输入行坐标,列坐标,非零元");scanf("%d%d%d",&a.datai.i,&a.datai.j,&a.datai.v);void trans_sparmat()int col,p,q;b.mu=a.nu;b.nu=a.mu;b.tu=a.tu;if(b.tu!=0)q=1;for(col=1;col<=a.nu;col+)for(p=1;p<=a.tu;p+) if (a.datap.j=c

5、ol) b.dataq.i=a.datap.j;b.dataq.j=a.datap.i;b.dataq.v=a.datap.v;q+;out(struct sparmattp x)int i,j,k,flag;for(i=1;i<=x.mu;i+)for(j=1;j<=x.nu;j+)flag=0;for(k=1;k<=x.tu;k+)if(x.datak.i)=i)&&(x.datak.j)=j)flag=1;printf("%5d",x.datak.v);if(flag=0)printf(" 0");printf("n");main()printf("稀疏矩阵的建立与转置n");crt_sparmat();trans_sparm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论