欢迎来到天天文库
浏览记录
ID:52835405
大小:55.50 KB
页数:3页
时间:2020-03-30
《数据结构稀疏矩阵的表示和转置.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据结构实验报告实验四稀疏矩阵的表示和转置一、实验目的1.掌握稀疏矩阵的三元组顺序表存储结构2.掌握稀疏矩阵的转置算法。二、实验内容采用三元组表存储表示,求稀疏矩阵M的转置矩阵T。(算法5.1)三、实验步骤:1.构建稀疏矩阵M。2.求稀疏矩阵M的转置矩阵T。3.输出稀疏矩阵M和稀疏矩阵T。四、算法说明首先要创建稀疏矩阵的三元组顺序表存储表示,定义mu,nu,tu分别表示矩阵的行数、列数和非零元个数。在进行稀疏矩阵的转置时要做到(1):将矩阵的行列值相互交换;(2):将每个三元组的i,j相互调换;(3):重排三元组之间的次序便可实现矩阵的转置。五、测试结果六、分析与探讨在此次程序
2、中转置的方法称为快速转置,在转置前,应先求得M的每一列中非零元的个数,进而求得每一列的第一个非零元的位置。七、附录:源代码数据结构实验报告源代码列在附录中,要求程序风格清晰易理解,有充分的注释。有意义的注释行不少于30%。#include#defineMAXSIZE5#defineMAXMN200typedefstruct{inti,j;inte;}Triple;typedefstruct{Tripledata[MAXSIZE];intrpos[MAXMN];intmu,nu,tu;//矩阵的行数、列数和非零元个数}TSMatrix;//行逻辑连接的顺序表in
3、tmain(){printf("矩阵M");TSMatrixM,T;printf("ijv");inti;for(i=0;i4、计M中每列非零元的个数for(t=0;t5、olumn]++;//转置矩阵T中同一行的非零元的起始位置自增1}}//输出矩阵M及转置矩阵Tprintf("矩阵T:");printf("ijv");for(i=0;i
4、计M中每列非零元的个数for(t=0;t5、olumn]++;//转置矩阵T中同一行的非零元的起始位置自增1}}//输出矩阵M及转置矩阵Tprintf("矩阵T:");printf("ijv");for(i=0;i
5、olumn]++;//转置矩阵T中同一行的非零元的起始位置自增1}}//输出矩阵M及转置矩阵Tprintf("矩阵T:");printf("ijv");for(i=0;i
此文档下载收益归作者所有