- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
稀疏矩阵数据结构与算法
稀疏矩阵数据结构与算法
稀疏矩阵的存储结构是三元组表,在运算算法中,用矩阵逻辑结构定位数据处理范围,选择算法主序,发现驱动元素或变量的数据映射范围,根据已知实体与目标实体间的映射关系和输出实体的逻辑结构,选择算法主序,输出结构与输出方法。在源程序分析中发现原子功能模块。说明:本文面对的是有一定计算机软件认识的大学生或者程序设计人员。 §1转置算法
?????? 稀疏矩阵在数据结构中不是重点,但是稀疏矩阵既是数据处理的大范围内,又具有一般程序设计与算法结构的基本特征。大学阶段遇到的科学计算类程序不多,稀疏矩阵运算(转置、乘法)的算法是应掌握的起步阶段喜欢分享
§1转置算法
算法对运算数据关联范围的设置不同,导致稀疏矩阵的转置算法的效率不同。
一.稀疏矩阵转置程序1的分析
1.什么是转置
Mmn--Tnm,其中aij=bji
(1≤i≤m, 1≤j≤n。i,j可看作与M,T无关的表示,也可以看作矩阵M为主动的下标表示方法) ,而且aij∈M, bji∈T。
????? 矩阵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的顺序为算法线索?)
???? 转置矩阵的非0元个数相同,T.tu=M.tu???
(3)对0元素多的稀疏矩阵的转置而言,与一般矩阵的转置不同。稀疏矩阵的非0元素aij,在程序中用三元组(i,j,aij)表示,i,j表示行数列数。因为不再按照矩阵的结构m行n列转置,不使用二维数组作为存储,所以必须记录每一个非0元素所在行列的位置。在规则的二维数组中,矩阵的行列通过元素的下标识别,元素在矩阵中的位置通过下标得到。因此一般矩阵用二维数组为存储结构。二维数组是物理存储结构的逻辑形式,可称为逻辑存储结构。
2.稀疏矩阵的一维数组存储结构
??????从操作系统可知,数据的存储方式有三种:连续(顺序)方式,链接方式,索引方式。矩阵不能直接用在计算机中,应选择顺序存储结构二维数组,存放元素。稀疏矩阵的非0元以矩阵行序为序存储在一维数组中,每一行元素的数目不同,可称为非规则数组。
????? 从稀疏矩阵到一维数组是从矩阵结构到以元素次序为主序的逻辑结构变换。稀疏矩阵的一维数组的非0元素是记录(i,j,aij)。稀疏矩阵三元组表的顺序存储方式,称为三元组顺序表,选用一维数组。三元组表还可用链表表示。
****这里有两个转换或者两个关系。1.数学表示实体到计算机存储实体的转换。eg.矩阵到一维数组;2.数学逻辑结构到存储逻辑结构的转换。eg.矩阵的行列结构+稀疏矩阵非0元素到一维数组中非0元同行同列+顺序表示的转换。*****注释
数据结构:三元组顺序表
//----稀疏矩阵的三元组表顺序存储表示----//
#define?? MAXSIZE?? 12500
Typedef struct{
?????? int??? i,j;???????????? //该非0元的行下标row和列下标col
????????? ??????? ????????????? //有行下标或列下标相同的三元组
????? ElemType? e;
}Triple;??? //三元组元素
?
Typedef struct{
???? Triple?? data[MAXSIZE+1];? //非0元三元组表,data[0]未用
???? int? mu,nu,tu;????? //矩阵的行数,列数和非0元个数
}TSMatrix? //三元组表
????? 三元组表的顺序以矩阵行序为主序。非0元的三元组是以矩阵行序为主序排列的。这两个表述有区别。三元组表与三元组不同,用三元组元素好像没有必要。
3.稀疏矩阵转置运算程序-----一维数组存储结构
Status transposeSMatrix (TSMatrix M,TSMatrix T)
????????????????????????????????????????????????? ???????????????? //稀疏矩阵从M到T转置
{
? T.mu=M.nu;T.nu=M.nu;???????????? ???????????????????? //矩阵行数列数互换
? T.tu=M.tu; ????????????????????????????????????????? //转置矩阵非零元个数一样
? if(T.tu){??????
您可能关注的文档
- 神奇钱去黑头洗脸法将黑头永远赶出你的世界.doc
- 神样的存在尼古拉·特斯拉.doc
- 神经病部分稿.doc
- 票据利率市场化程的实证研究.doc
- 神话新手卡神话宠物系统解析.doc
- 禅城区南海区交通线路汇总最终.doc
- 福州出土座完整唐代古墓墓边上曾被建化粪池福州化粪池唐代.doc
- 福州十中高三化原子结构与元素周期律专题.doc
- 福州十中级语文模拟试卷.doc
- 福布斯全球排名.docx
- 中国行业标准 DB/T 100-2024区域性地震安全性评价.pdf
- 《GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架》.pdf
- GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架.pdf
- DB/T 100-2024区域性地震安全性评价.pdf
- 中国行业标准 GM/T 0138-2024C-V2X车联网证书策略与认证业务声明框架.pdf
- 校园周边书店阅读氛围对初中生阅读素养提升的影响研究教学研究课题报告.docx
- 初中校园餐饮卫生监管与食品安全教育创新模式研究教学研究课题报告.docx
- 《文化遗产保护与旅游开发平衡机制的法律法规完善研究》教学研究课题报告.docx
- 《农作物病虫害生物防治技术的经济效益与社会影响分析》教学研究课题报告.docx
- 1 剖宫产术后子宫瘢痕憩室治疗中的并发症预防与护理措施教学研究课题报告.docx
最近下载
- 药事管理学药品注册管理课件.ppt VIP
- 《肩袖损伤与肩周炎》课件.ppt VIP
- 2024年重庆市巴蜀中学初升高自主招生语文试卷真题(含答案).docx VIP
- 中介新房培训课件内容.ppt VIP
- 2024年重庆渝中区重庆市巴蜀中学自主招生数学试卷(初升高保送)(详解版).pdf VIP
- 2025年西藏自治区公务员录用考试面试真题试卷(结构化小组)题型分析.docx VIP
- 药品注册管理课件.ppt VIP
- 击剑基础理论知识单选题100道及答案解析.docx VIP
- 《未成年人保护法》课件ppt.pptx VIP
- (高清版)B-T 19363.1-2022 翻译服务 第1部分:笔译服务要求.pdf VIP
文档评论(0)