网站大量收购独家精品文档,联系QQ:2885784924

数据结构-05串和数组2.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构-05串和数组2

* * * 5.6.2 随机稀疏矩阵的存储压缩 可以按以行为主的方法把无规则稀疏矩阵映射到一维数组中。为了重建矩阵结构,必须记录每个非0元素所在的行号和列号,所以在把稀疏矩阵的非0元素映射到数组中时必须提供三个域:row、col和value(矩阵元素的值)。 5.6.2 随机稀疏矩阵的存储压缩 例如:下左图为6X7稀疏矩阵 我们用右图三元组分量来描述 M6×7= 0 12 9 0 0 0 0 0 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 i j v 1 1 2 12 2 1 3 9 3 3 1 -3 4 3 6 14 5 4 3 24 6 5 2 18 7 6 1 15 8 6 4 -7 0 6 7 8 三元组顺序表 1. 三元组顺序表的定义 #define MAXSIZE 12500 typedef struct { int i,j; ElemType e; }Triple; typedef union { Triple data[MAXSIZE+1]; int mu,nu,tu; }TSMatrix; //假设非零元素的个数最大值为12500 //非零元素的行、列下标 //非零元素组表data[0]不使用 //矩阵的行数、列数和非零元个数 2. 三元组顺序表的应用: 矩阵的转置 矩阵转置的一般规则: 一个m×n的矩阵M,其转置矩阵T是n×m, T(i,j) = M(j,i), 1≤i≤n, 1≤j≤m 用三元组表示的转置矩阵 i j v 1 2 12 1 3 9 3 1 -3 M: 3 6 14 4 3 24 5 2 18 6 1 15 6 4 -7 0 12 9 0 0 0 0 0 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 i j v T: 1 3 -3 1 6 15 2 1 12 2 5 18 3 1 9 3 4 24 4 6 -7 6 3 14 算法的思路: i j v 1 2 12 1 3 9 3 1 -3 M: 3 6 14 4 3 24 5 2 18 6 1 15 6 4 -7 i j v 1 3 -3 1 6 15 2 1 12 T: 2 5 18 3 1 9 3 4 24 4 6 -7 6 3 14 ①对M三元组表中的每个三元组进行扫描 ②先找列号 j=1 的三元组, 若存在,则将其移至T三元组表,并依次存放 并对找到的三元组元素将其行列号对换 否则找下一列,依次类推 typedef struct { int i,j; ElemType e; }Triple; typedef union { Triple data[MAXSIZE+1]; int mu,nu,tu; }TSMatrix; Status TransposeSMatrix(TSMatrix M, TSMatrix T) { T.mu = M.nu; T.nu = M.mu; T.tu = M.tu if (T.tu) { q = 1; for (col=1;col=M.nu;++col) for (p=1;p=M.tu;++p) if (M.data[p].j == col{ T.data[q].i = M.data[p].j; T.data[q].j = M.data[p].i; T.data[q].e = M.data[p].e;++q } } return OK; } //采用三元组表存储表示,求稀疏矩阵M的转置矩阵T //T行数为M的列数,T的列数为M的行数,T的非零元素个数与M相同 //非零元素计数器,

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档