- 1、本文档共23页,可阅读全部内容。
- 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正文11.课程设计的目的和任务12.课程设计报告的要求13.课程设计的内容24.稀疏矩阵的十字链表存储25.稀疏矩阵的加法思想46.代码实现57.算法实现5结论8参考文献9附录10前言采用三元组顺序表存储稀疏矩阵,对于矩阵的加法、乘法等操作,非零元素的插入和删除将会产生大量的数据移动,这时顺序存储方法就十分不便。稀疏矩阵的链接存储结构称为十字链表,它具备链接存储的特点,因此,在非零元素的个数及位置都会发生变化的情况下,采用链式存储结构表示三元组的线性更为恰当。正文1.课程设计的目的和任务(1) 使我我们进一步理解和掌握所学的程序的基本结构。(2) 使我们初步掌握软件开发过程的各个方法和技能。(3) 使我们参考有关资料,了解更多的程序设计知识。(4) 使我们能进行一般软件开发,培养我们的能力并提高我们的知识。2.课程设计报告的要求(1)课程设计目的和任务,为了达到什么要求(2)课程设计报告要求(3)课程设计的内容,都包含了什么东西(4)稀疏矩阵和十字链表的基本概念,稀疏矩阵是怎么用十字链表存储(5)十字链表矩阵的加法(6)代码实现(7)算法检测3.课程设计的内容(1)根据所学知识并自主查找相关资料(2)进行算法设计与分析(3)代码实现,组建并运行结果查看是否正确(4)书写课程设计说明书4.稀疏矩阵的十字链表存储稀疏矩阵是零元素居多的矩阵,对于稀疏矩阵,人们无法给出确切的概念,只要非零元素的个数远远小于矩阵元素的总数,就可认为该矩阵是稀疏的。十字链表有一个头指针hm,它指向的结点有五个域,如图1所示。row域存放总行数m,col域存放总列数n,down和right两个指针域空闲不用,next指针指向第一个行列表头结点。 图1 总表点结点 有S个行列表头结点h[1],h[2],......h[s]。结点结构与总表头结点相同。Row和col域置0,next指向下一行列表头结点,right指向本行第一个非零元素结点,down指向本列第一个非零元素结点如图2所示。当最后一个行列表头结点的next域指向总表头结点的hm时,就形成循环链表,见图4的第一行。 图2 行列表头结点 图3 非零元素结点 图4 稀疏矩阵 非零元素结点结构也有五个域,与其他结点域结构相似,只有next域为一变体域,可为val域存放非零元素的值,row和col存放行下标值和列下标值,right指向本行的下一个非零元素结点,down指向本列的下一个非零元素结点。稀疏矩阵中同一行的非零元素通过向右域right,链接成一个带头结点的循环链表。同一列的非零元素也通过向下域down。链接成一个带头结点的循环链表。因此,每一个非零元素即是第i行循环链表中的一个结点,又是第j列循环链表中的一个结点。这好比处于一个十字交叉路口上,故称这样的链表为十字链表。例如,对于如图4所示的5行4列的稀疏矩阵A的十字链表如图5所示。如图5可见,每一列链表的表头结点只需要用一个链域,指向该列中第一个非零元素,而每一行链表的表头结点只需right链域,指向该行中第一个非零元素,恰好他们的row和col域又同时为0,故这两组的表头结点可以合用(即第i行链表和第j列链表共用一个表头结点)这些表头结点本身又可以通过val域相链接(注意:val域在表头结点中为next域,是指向下一个表头结点的链域),加上附加结点(由指针hm指示),又组成一个带表头结点的循环链。Hm所指结点为整个十字链表的表头结点,其row和col域的值分别为稀疏矩阵的行数和列数,hm为头指针。由此,只要给定hm指针值,便可取得整个稀疏矩阵的全部信息。图5 稀疏矩阵A的十字链表5.稀疏矩阵的加法思想如果运用带行指针向量和带列指针向量的存储结构进行系数矩阵的加法运算,设M和N是两个加法矩阵,Q是和矩阵,也就是结果矩阵。M和N矩阵可以相加的前提条件是:M和N矩阵是一样的,也就是说行数和列数的个数相同,M和N相加的结果矩阵就是一个一样大小的矩阵。结果矩阵中每个行单链表也还是需要列号有序,它是对M和N中对应行单链表的按列号有序的合并结果。当M和N中相应的行单链表的两个结点分别是一样的行号和列号时,如果他们的元素之和为0,就不在结果矩阵中建立结点,只有当元素的和不为0或者列号不一样时,才需要在结果矩阵中建立结点。如果,M矩阵扫描完,N矩阵还没有扫描完,这个时候,直接就将N矩阵中的剩余的结点插入结果矩阵中。6.代码实现 矩阵中的元素在最后运行的时候由用户自己定义,根据用户输入的稀疏矩阵的行数、列数和非零元个数。知道稀疏矩阵多少行、多少列以及有多少个非零元,然后依据非零元个数,输入非零元,仍然需要用户自己输入行号、列号以及非零值。如果输入行数、列数和非零元个数为: 5 4 3就表示这是一个5行4列3个非零元的稀疏矩阵用户自己输
您可能关注的文档
- 私募月报:今年仅44%的私募基金获正收益,11月发行激增59%布局来年.docx
- 私募股权投资《PE尽职调查》指引全文.doc
- 祁县中心城区规划.ppt
- 私立学校会计实务.doc
- 离子对色谱法.ppt
- 秋期初二各单元练习题.doc
- 种技上第一章习题.doc
- 种群作业校对.ppt
- 种树郭橐驼传04.ppt
- 秋季初三物理目标满分班人教版第5讲欧姆定律突破1:比例计算和实验,动态电路 2.pptx
- 2023-2024学年黑龙江省哈尔滨四十七中六年级(下)开学数学试卷(五四学制).pdf
- 2023-2024学年河南省驻马店市正阳县七年级(下)期中生物试卷.pdf
- 2024年湖北省黄石市阳新县陶港中学中考化学三模试卷.pdf
- 2024年江苏省常州市溧阳市中考数学全真模拟试卷.pdf
- 安徽省合肥市六校联盟2022-2023学年高一下学期期中联考历史试卷含答案①.pdf
- 2024年山东省德州市乐陵市小升初英语试卷.pdf
- 2023-2024学年黑龙江省佳木斯市富锦实验中学、六中八年级(下)期末数学试卷.pdf
- 2024-2025学年湖北省部分重点中学高三第二次联合模拟考试英语试题试卷含解析.doc
- 2024-2025学年河南省周口市扶沟县包屯高中高三寒假自主学习综合练习语文试题含解析.doc
- 2024-2025学年黑龙江哈尔滨市高三下学期联合调研考试语文试题试卷含解析.doc
最近下载
- 浙江省杭州市八县区2023-2024学年八年级下学期期末考试道德与法治试卷(含答案).pdf VIP
- 串联盘式励磁磁力制热系统及其制热方法.pdf VIP
- 西安交通大学23春“法学”《科技法学》平时作业试题库附答案.docx VIP
- 2025最新消毒技能竞赛个人竞赛试题(+答案).docx VIP
- 2025年班组长综合管理技能竞赛理论考试题库500题(含答案).doc VIP
- 《高性能纳米保温材料》课件.ppt VIP
- 学龄前儿童感觉处理测量量表的汉化及信度与效度研究.PDF VIP
- 跨学科项目式学习背景下,人工智能在小学科学教育中的应用教学研究课题报告.docx
- 霍兰德职业兴趣测试量表及答案对照表.docx VIP
- 浙江省消防技术规范难点问题操作技术指南-2025修订稿(定稿).pdf VIP
文档评论(0)