数据结构稀疏矩阵的表示和转置

上传人:新** 文档编号:556775318 上传时间:2023-05-23 格式:DOCX 页数:3 大小:48.36KB
返回 下载 相关 举报
数据结构稀疏矩阵的表示和转置_第1页
第1页 / 共3页
数据结构稀疏矩阵的表示和转置_第2页
第2页 / 共3页
数据结构稀疏矩阵的表示和转置_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《数据结构稀疏矩阵的表示和转置》由会员分享,可在线阅读,更多相关《数据结构稀疏矩阵的表示和转置(3页珍藏版)》请在金锄头文库上搜索。

1、数据结构实验报告实验四稀疏矩阵的表示和转置一、实验目的1 .掌握稀疏矩阵的三元组顺序表存储结构2 .掌握稀疏矩阵的转置算法。二、实验内容采用三元组表存储表示,求稀疏矩阵 M的转置矩阵To (算法5.1)三、实验 步骤:1 .构建稀疏矩阵Mo2 .求稀疏矩阵M的转置矩阵To3 .输出稀疏矩阵M和稀疏矩阵To四、算法说明首先要创建稀疏矩阵的三元组顺序表存储表示,定义 mu,nu,tu分别表示矩阵的行 数、列数和非零元个数。在进行稀疏矩阵的转置时要做到 (1):将矩阵的行列值相 互交换;(2):将每个三元组的i, j相互调换;(3):重排三元组之间的次序 便可实现矩阵的转置。五、:第M测试结果六、分

2、析与探讨在此次程序中转置的方法称为快速转置,在转置前,应先求得M的每一列中非零元的个数,进而求得每一列的第一个非零元的位置。七、附录:源代码数据结构实验报告源代码列在附录中,要求程序风格清晰易理解,有充分的注释。有意义的注释行不少于 30%。#include #define MAXSIZE 5#define MAXMN 200typedef structint i,j;int e;Triple;typedef structTriple dataMAXSIZE;int rposMAXMN;int mu,nu,tu;/矩阵的行数、列数和非零元个数TSMatrix; /行逻辑连接的顺序表int ma

3、in()printf(矩P$ Mn);TSMatrix M,T;printf(i j vn);int i;for(i=0;iMAXSIZE;i+)scanf(%d %d %d”,&M.datai.i, &M.datai.j, &M.datai.e);printf(请输入矩阵M的行数mu,列数nu,及非零元的个数tun);scanf(%d %d %d,&M.mu, &M.nu, &M.tu);/求稀疏矩阵M的转置矩阵TT.mu=M.nu; T.nu=M.mu; T.tu=M.tu;if(T.tu)int t, column, numMAXMN=0; /用来统计M中每列非零元的个数for(t=0;

4、tM.tu;t+)+numM.datat.j;T.rpos0=0; for(column=1;columnT.mu;column+) T.rposcolumn=T.rposcolumn- 1+numcolumn-1; int p, q;for(p=0;pM.tu;p+)column=M.datap.j;q=T.rposcolumn;T.dataq.i=M.datap.j;T.dataq.j=M.datap.i;数据结构实验报告T.dataq.e=M.datap.e;T.rposcolumn+; 转置矩阵T中同一行的非零元的起始位置自增1 /输出矩阵M及转置矩阵Tprintf(n 矩阵 T : n);printf(i j vn);for(i=0;iT.tu;i+)printf(%d %d %dn,T.datai.i, T.datai.j, T.datai.e);printf(n);return 0;

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

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号