ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:51.50KB ,
资源ID:7637042      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7637042.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(系数矩阵.doc)为本站会员(jinchen)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

系数矩阵.doc

1、数据结构上机报告题目: 稀疏矩阵 班级:软件 08-1 姓名:褚宇磊 学号:08083124 完成日期:1.13一、需求分析(要实现的功能描述)1问题描述 将稀疏矩阵用三元组存储,并能实现转置、求和等基本功能2实现功能 转置、输入、输出、快速转置、求和等3测试数据 Matrix1 大小为 3*3 矩阵:非零元素 matrix02=9Matrix2 大小为 3*3 矩阵:非零元素 matrix01=19相加结果为 Matrix3 大小为 3*3 矩阵:非零元素 matrix02=9 和 matrix01=19转置结果:matrix20=9 和 matrix10=19。1抽象数据类型class S

2、parseMatrix /稀疏矩阵类friend ostream /重载输出friend istream /重载输入public:SparseMatrix(int maxSz=DefaultSize); /构造函数/ SparseMatrix(int r,int c);/构造函数SparseMatrix(SparseMatrix /构造函数/ SparseMatrix()delete smArray;/析构函数SparseMatrix /重载输出以后再写SparseMatrixTranspose(); /转置void Add(SparseMatrix /矩阵相加SparseMatrixMult

3、iply(SparseMatrix /矩阵相乘private:int Rows,Cols,Terms; /行数,列数,非零元素个数Tritupe*smArray; /三元组结点数组int maxTerms; /最非零元素个数;2整个程序包含功能模块及模块间的调用关系矩阵模块、主函数模块、后者使用前者三、详细设计1虚拟实现class SparseMatrix /稀疏矩阵类friend ostream /重载输出friend istream /重载输入public:SparseMatrix(int maxSz=DefaultSize); /构造函数/ SparseMatrix(int r,int

4、c);/构造函数SparseMatrix(SparseMatrix /构造函数/ SparseMatrix()delete smArray;/析构函数SparseMatrix /重载输出以后再写SparseMatrixTranspose(); /转置void Add(SparseMatrix /矩阵相加SparseMatrixMultiply(SparseMatrix /矩阵相乘private:int Rows,Cols,Terms; /行数,列数,非零元素个数Tritupe*smArray; /三元组结点数组int maxTerms; /最非零元素个数;2抽象数据类型中定义的操作算法实现te

5、mplateSparseMatrix:SparseMatrix(int maxSz):maxTerms(maxSz) /构造函数if(maxSzmaxSz;if(smArray=NULL)cerrSparseMatrix:SparseMatrix(SparseMatrix /拷贝行列Cols=x.Cols;Terms=x.Terms;maxTerms=x.maxTerms;smArray=new TritupemaxTerms;for(int i=0;iostreamif(M.TermsM.maxTerms)cerrM.smArrayi.rowM.smArrayi.colM.smArrayi.

6、value;return in;templateSparseMatrixCols=x.Cols;Terms=x.Terms;maxTerms=x.maxTerms;smArray=new TritupemaxTerms;for(int i=0;iSparseMatrixSparseMatrix:Transpose() /快速转置SparseMatrix b(maxTerms);b.Cols=Rows;b.Rows=Cols;b.Terms=Terms;int currentB=0;if(Terms0)for(int i=0;ivoid SparseMatrix:Add(SparseMatrix

7、 result.Cols=b.Cols;if(Rows!=b.Rows|Cols!=b.Cols) /判断两个矩阵是否匹配cerrindex_b)result.smArrayresult.Terms=b.smArrayj;j+;elseresult.smArrayresult.Terms=smArrayi;result.smArrayresult.Terms.value=smArrayi.value+b.smArrayj.value;i+;j+;result.Terms+;for(;iTerms;i+)result.smArrayresult.Terms=smArrayi;result.Ter

8、ms+;for(;jb.Terms;j+)result.smArrayresult.Terms=b.smArrayi;result.Terms+;3函数之间的调用关系 Transpose()调用复制构造函数、main ()调用 Transpose()和 Add()及输入输出函数四、调试分析1程序在调式过程中出现的问题及解决方法Add()比较混乱,最后修改了参数。2算法的时间复杂度分析Add O(Terms+b.Terms)Transpose O(Terms*Cols )3心得好好利用单步调试,好好利用网络资源,认真仔细。五、用户手册操作方法:运行程序,按照提示输入行数、列数、个数,即可获得想要

9、的结果六、测试结果Enter number of rows,columns,and terms3 3 1Enter row,column,and value of term10 2 9Rows=3Cols=3The number of nonzero terms is:1M02=9Enter number of rows,columns,and terms3 3 1Enter row,column,and value of term10 1 19Rows=3Cols=3The number of nonzero terms is:1M01=19The result:Rows=3Cols=3The number of nonzero terms is:2M01=19M02=9转置:Rows=3Cols=3The number of nonzero terms is:2M10=19M20=9Press any key to continue七、心得体会、认真总结每次调试所犯的错误,因为每次常常犯同样的错误。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报