收藏 分享(赏)

数据结构实验报告-特殊矩阵和稀疏矩阵.doc

上传人:精品资料 文档编号:10549312 上传时间:2019-11-28 格式:DOC 页数:5 大小:42.04KB
下载 相关 举报
数据结构实验报告-特殊矩阵和稀疏矩阵.doc_第1页
第1页 / 共5页
数据结构实验报告-特殊矩阵和稀疏矩阵.doc_第2页
第2页 / 共5页
数据结构实验报告-特殊矩阵和稀疏矩阵.doc_第3页
第3页 / 共5页
数据结构实验报告-特殊矩阵和稀疏矩阵.doc_第4页
第4页 / 共5页
数据结构实验报告-特殊矩阵和稀疏矩阵.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、数据结构与算法实验指导 V20141实 验 五 特 殊 矩 阵 和 稀 疏 矩 阵【实验目的】1、掌握数组的结构类型(静态的内存空间配置) ;通过数组的引用下标转换成该数据在内存中的地址;2、掌握对称矩阵的压缩存储表示;3、掌握稀疏矩阵的压缩存储-三元组表表示,以及稀疏矩阵的转置算法。【实验学时】2 学时【实验预习】回答以下问题:1、什么是对称矩阵?写出对称矩阵压缩存储 sak与 aij 之间的对应关系。2、什么是稀疏矩阵?稀疏矩阵的三元组表表示。【实验内容和要求】1、编写程序 exp5_1.c,将对称矩阵进行压缩存储。(1)对称矩阵数组元素 Aij转换成为以行为主的一维数组 sak,请描述

2、k 与 ij 的关系。 (注意 C 程序中,i,j ,k 均从 0 开始)(2)调试程序与运行。对称矩阵存储下三角部分即 i=j。对称矩阵为 3,9,1,4,79,5,2,5,81,2,5,2,44,5,2,1,77,8,4,7,9参考程序如下:#include#define N 5int main()数据结构与算法实验指导 V20142int upperNN= 3,9,1,4,7,9,5,2,5,8,1,2,5,2,4,4,5,2,1,7,7,8,4,7,9; /*对称矩阵*/int rowMajor15; /*存储转换数据后以行为主的数组*/int Index; /*数组的索引值*/int

3、 i,j;printf(“Two dimensional upper triangular array:n“);for (i=0; i=j_) /*下三角元素进行存储*/Index=_i*(i+1)/2+j_; /*ij 与 index 的转换*/rowMajorIndex=upperij;printf(“nRow Major one dimensional array:n“);for(i=0; i#define MAXSIZE 20 /*非零元素个数最大值*/typedef int ElemType;typedef structint i,j;ElemType e;Triple;数据结构与算

4、法实验指导 V20143typedef structTriple dataMAXSIZE+1; /*三元组表,data0不用*/int mu,nu,tu; /*矩阵的行数、列数、非零元个数*/TSMatrix;void TransposeSMatrix(TSMatrix *T,TSMatrix *M); /*一般转置算法*/void FastTransposeSMatrix(TSMatrix *M,TSMatrix *T); /*快速转置算法*/int main()/int i,j,k,q,col,p;int i,j,k;int temp67=0,12,9,0,0,0,0, /*稀疏矩阵*/0

5、,0,0,0,0,0,0,-3,0,0,0,0,14,0,0,0,24,0,0,0,0,0,18,0,0,0,0,0,15,0,0,-7,0,0,0,;TSMatrix T,M;M.mu=6;M.nu=7;M.tu=0;k=1;for (i=0;imu=M-nu;T-nu=M-mu;T-tu=M-tu;if (T-tu)q=1;for (col=1;colnu;+col)for (p=1;ptu;+p)if (M-datap.j=col)T-dataq.i=M-datap.j;T-dataq.j=M-datap.i;T-dataq.e=M-datap.e;+q;/*稀疏矩阵的快速转置算法*/v

6、oid FastTransposeSMatrix(TSMatrix *M,TSMatrix *T)int t,q,col,p,numMAXSIZE,cpotMAXSIZE;T-mu=M-nu;数据结构与算法实验指导 V20145T-nu=M-mu;T-tu=M-tu;if (T-tu)/*快速转置过程的实现,请补充代码*/for (col=1;colnu;+col)numcol=0;for(t=1;ttu;+t)+numM-datat.j;cpot1=1;for(col=2;colnu;+col)cpotcol=cpotcol-1+numcol-1;for(p=1;ptu;+p)col=M-datap.j;q=cpotcol;T-dataq.i=M-datap.j;T-dataq.j=M-datap.i;T-dataq.e=M-datap.e;+cpotcol;【实验小结】

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报