稀疏矩阵数据构造与算法.docx
《稀疏矩阵数据构造与算法.docx》由会员分享,可在线阅读,更多相关《稀疏矩阵数据构造与算法.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、稀疏矩阵数据构造与算法1.什么是转置Mmn-Tnm,其中aij=bji(1im,1jn。i,j可看作与M,T无关的表示,可以以看作矩阵M为主动的下标表示方法),而且aijM,bjiT。矩阵M已知,矩阵T未知。因而在编程时,应考虑以哪个矩阵为算法主序,这是一个出发点。(1)M,T的行列互换两个矩阵的行数mu列数nu互换,T.mu=M.nu=n,T.nu=M.mu=m,以T为主动。(2)矩阵元素T(i,j)=M(j,i),矩阵T的第i行第j列元素与矩阵M的第j行第i列元素相等。以T的元素为驱动,由于能从M的元素得到T的元素,所以建立表达式就能得到T元素的值。在程序中,能否用矩阵T的顺序为算法线索?
2、转置矩阵的非0元个数一样,T.tu=M.tu(3)对0元素多的稀疏矩阵的转置而言,与一般矩阵的转置不同。稀疏矩阵的非0元素aij,在程序中用三元组(i,j,aij)表示,i,j表示行数列数。由于不再根据矩阵的构造m行n列转置,不使用二维数组作为存储,所以必须记录每一个非0元素所在行列的位置。在规则的二维数组中,矩阵的行列通过元素的下标识别,元素在矩阵中的位置通过下标得到。因此一般矩阵用二维数组为存储构造。二维数组是物理存储构造的逻辑形式,可称为逻辑存储构造。2.稀疏矩阵的一维数组存储构造从操作系统可知,数据的存储方式有三种:连续顺序方式,链接方式,索引方式。矩阵不能直接用在计算机中,应选择顺序
3、存储构造二维数组,存放元素。稀疏矩阵的非0元以矩阵行序为序存储在一维数组中,每一行元素的数目不同,可称为非规则数组。从稀疏矩阵到一维数组是从矩阵构造到以元素次序为主序的逻辑构造变换。稀疏矩阵的一维数组的非0元素是记录(i,j,aij)。稀疏矩阵三元组表的顺序存储方式,称为三元组顺序表,选用一维数组。三元组表还可用链表表示。*这里有两个转换或者两个关系。1.数学表示实体到计算机存储实体的转换。eg.矩阵到一维数组;2.数学逻辑构造到存储逻辑构造的转换。eg.矩阵的行列构造+稀疏矩阵非0元素到一维数组中非0元同行同列+顺序表示的转换。*注释数据构造:三元组顺序表/-稀疏矩阵的三元组表顺序存储表示-
4、/#defineMAXSIZE12500Typedefstructinti,j;/该非0元的行下标row和列下标col/有行下标或列下标一样的三元组ElemTypee;Triple;/三元组元素TypedefstructTripledataMAXSIZE+1;/非0元三元组表,data0未用intmu,nu,tu;/矩阵的行数,列数和非0元个数TSMatrix/三元组表三元组表的顺序以矩阵行序为主序。非0元的三元组是以矩阵行序为主序排列的。这两个表述有区别。三元组表与三元组不同,用三元组元素好似没有必要。3.稀疏矩阵转置运算程序-一维数组存储构造StatustransposeSMatrix(T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 稀疏 矩阵 数据 构造 算法
限制150内