数据结构实验矩阵.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机系数据结构实验报告(5) 姓名: 翁恒丛 学号: 6100410184 专业班级: 卓越计算机 101 一、实验目的: 深入研究数组的存储表示和实现技术,着重掌握对稀疏矩阵的表示方法及其运算的实现。二、问题描述: 稀疏矩阵是指那些多数元素为零的矩阵。利用‘稀疏’特点进行存储和计算可以大大节省存储空间,提高效率。通过对稀疏矩阵的存储表示,实现矩阵的基本操作 三、实验要求: 1、 要求矩阵的输入形式采用三元组表示,以“带行逻辑链接信息”的三元组顺序表表示稀疏矩阵。 2、 设计矩阵的逆置算法,实现矩阵的逆置。 3、 实现两个稀疏矩阵的相加、相减和相乘等运算。 4、 要求运算结果的矩阵则以通常的阵列形式出现四、算法分析: 详见源代码: 创建矩阵 初始化矩阵 输出矩阵 矩阵转置 矩阵加法 矩阵乘法 矩阵求逆 五、实验内容和过程: 分析数据结构 实验中已经要求用三元组表示矩阵,三元组的特点是在表中按行序有序存储,因此便于进行顺序处理的矩阵运算,但同样存在顺序存储的缺点,即查找元素需要从头开始。 一下程序 TM 为矩阵,包含data 数组和该矩阵的 mu,nu,tu。而 data 数组则存放着三元组,每个三元组由元素数值 e,元素所在行数 i,元素所在列数j 构成。 表示数据结构( 三元组表示如下: typedef struct { int i,j; // 行下标,列下标 ElemType e; // 非零元素值 }Triple; 而用顺序表表示矩阵如下: typedef struct { Triple data[MAXSIZE+1]; // 非零元三元组表,data[0]未用 int mu,nu,tu; // 矩阵的行数、列数和非零元个数 }TSMatrix; 编写矩阵的基本操作 void create(TSMatrix TM); //创建矩阵 void disp(TSMatrix TM);//通常形式输出稀疏矩阵Status LocateELem(TSMatrix M,int i,int j,int e); void InsertSortMatrix(TSMatrix TM); 4.编写主程序架构,主要完成复杂运算 Status TransposeSMatrix(TSMatrix M,TSMatrix T); //矩阵转置的算法Status AddTSM(TSMatrix A,TSMatrix B,TSMatrix C); // 加 法 运 算 :C=A+B Status MultSMatrix(TSMatrix A,TSMatrix B,TSMatrix C);//乘法运算:C=A×B void NiMatrix(TSMatrix TM); //矩阵求逆 调试运行 主要有两个错误: 由于 C/C++混合用,所以在输出运用 cout 时在头部加入了命名空间,可是这里反而不用到,查阅了相关资料,可都是说需要。不知道是否和 iomainp.h 头文件有关。删除后居然通过编译。 其他的错误主要是语法错误,当然一开始编译中出现过下标不符合和偏移,逻辑上不完整等,比对了多个程序之后,也参考了其他程序的算法,之后逐渐修改通过编译。 完成实验报告六、实验结果: 转置 求逆 _谓选择操作( 0 - 4 ) : _ 3__utA3u-nA3u 3 __ u t A 3 u- n A 3 u- m . 白 - .0 0. - .0 0 . - . . -_1 5.-。0 05.05 5 . - 。 0 0 5 .0 5 .0 0 0 - 割试矩芦A的二元组表示: 白:( 1 , 1,2),(2,2,2),(3,3,2)  A.mu=3.A.nu=3.A.tu=3 谓韵.,人矩阵行数( mu ) 、到数( nu) 、非零元·个数( t u) . ,注薰:所有数毛均用空格泾开, 3苇, 3 苇 , .Jjj 2 2 21 2 31 2 3...... 2 2 2 1 2 3 1 2 3 ...... ) eee ... 1 .1 .1 ((( 俏俏俏 、 |-|- |- 对,石,石' - ·i.、丿 、丿、 `苇2 ·i . 、丿 、丿 、 ` ,.%3 , . A: 2 0 0 0 2 0 0 0 2 矩阵的行列式的信: I A I =8 0 0 0 0 l.f0o l.f 0 o l.f o 逆矩阵(印)/I AI : O. 5 0 0 0.5 o o  。 丛0.5 丛 Press any key to continue! 加法 乘法 退出 七、总结和感想: 本来一开始也想用 C++写这个程序的,但是编写过程中,发现重载运算符有点困难, 虽然知道重载运算符的基本思想,但是一编译出现七十多个错误(下图部分),而且毫无头

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

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

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档