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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构实验(5).doc

1、计算机系数据结构实验报告(1)姓名: 孟红波 学号: 6100410179 专业班级: 卓越 101 班 实验目的:深入研究数组的存储表示和实现技术,着重掌握对稀疏矩阵的表示方法及其运算的实现。问题描述:稀疏矩阵是指那些多数元素为零的矩阵。利用稀疏特点进行存储和计算可以大大节省存储空间,提高效率。通过对稀疏矩阵的存储表示,实现矩阵的基本操作。实验要求:文法是一个四元1、要求矩阵的输入形式采用三元组表示,以“带行逻辑链接信息”的三元组顺序表表示稀疏矩阵。2、设计矩阵的逆置算法,实现矩阵的逆置。3、实现两个稀疏矩阵的相加、相减和相乘等运算。4、要求运算结果的矩阵则以通常的数组形式出现。 实验内容和

2、过程:实验步骤1、 首先应输入矩阵的行数和列数、并判别给出的两个矩阵的行、列数对于所要求的运算是否相匹配;2、 以三元组的形式输入矩阵;3、 调用矩阵的逆置子函数、相加函数和相乘函数;4、 分析输出结果,并进行总结。输入数据:2 1 00 0 00 0 30 0 00 0 00 0 2+ =2 1 00 0 00 0 52 1 00 0 00 0 32 0 01 0 00 0 3-12 1 00 0 30 00 00 2* = 0 00 6实验程序:#include #include using namespace std; const int MAXSIZE=100; const int M

3、AXROW=10; typedef struct int i,j; int e; Triple; typedef struct Triple dataMAXSIZE+1; int mu,nu,tu; TSMatrix; typedef struct Triple dataMAXSIZE+2; int rposMAXROW+1; int mu,nu,tu; RLSMatrix; template bool InPutTSMatrix(P coutT.datak.iT.datak.jT.datak.e; return true; template bool OutPutSMatrix(P T) i

4、nt m,n,k=1; for(m=0;mMAXSIZE) return false; Q.dataQ.tu.e=ctempccol; Q.dataQ.tu.i=arow; Q.dataQ.tu.j=ccol; OutPutSMatrix(Q); return true; typedef struct OLNode int i,j; int e; struct OLNode *right,*down; OLNode,*OLink; typedef struct OLink *rhead,*chead; int mu,nu,tu; CrossList; bool CreateSMatrix_OL

5、(CrossList coutM.muM.nuM.tu; if(!(M.rhead=(OLink*)malloc(M.mu+1)*sizeof(OLink) exit(0); if(!(M.chead=(OLink*)malloc(M.nu+1)*sizeof(OLink) exit(0); for(x=0;xxym; OLink p,q; if(!(p=(OLink)malloc(sizeof(OLNode) exit(0); p-i=x; p-j=y; p-e=m; if(M.rheadx=NULL|M.rheadx-jy) p-right=M.rheadx; M.rheadx=p; el

6、se for(q=M.rheadx;(q-right) p-right=q-right; q-right=p; / 完成行插入 if(M.cheady=NULL|M.cheady-ix) p-down=M.cheady; M.cheady=p; else for(q=M.cheady;(q-down) p-down=q-down; q-down=p; / 完成列插入 return true; bool OutPutSMatrix_OL(CrossList T) for(int i=1;ij) coute; p=p-right; else coute=pb-e; p-i=pb-i; p-j=pb

7、-j; if(NULL=pa|pa-jpb-j) if(NULL=pre) M.rheadp-i=p; else pre-right=p; p-right=pa; pre=p; if(NULL=M.cheadp-j) M.cheadp-j=p; p-down=NULL; else p-down=hlp-j-down; hlp-j-down=p; hlp-j=p; pb=pb-right; else if(NULL!=pa) pa=pa-right; else if(pa-j=pb-j) pa-e += pb-e; if(!pa-e) if(NULL=pre) M.rheadpa-i=pa-ri

8、ght; else pre-right=pa-right; p=pa; pa=pa-right; if(M.cheadp-j=p) M.cheadp-j=hlp-j=p-down; else hlp-j-down=p-down; free(p); pb=pb-right; else pa=pa-right; pb=pb-right; OutPutSMatrix_OL(M); return true; int main() cout.fill( ); / system(“color 0C“); cout.fill( ); cout void main(void) const int SIZE=1

9、1; int gridSIZESIZE; int gridTSIZESIZE; int i,j; for(i=0;igridij; for(i=0;iSIZE;i+) for(j=0;jSIZE;j+) gridTij=gridji; cout“原始矩阵“endl; for(i=0;iSIZE;i+) for(j=0;jSIZE;j+) coutgridij“ “; coutendl; cout“转置矩阵“endl; for(i=0;iSIZE;i+) for(j=0;jSIZE;j+) coutgridTij“ “; coutendl; 2、 如果用十字链表方式表示稀疏矩阵的话,如何来实现矩阵的相加操作呢?总结和感想:通过实验,我数组的存储表示和实现技术,对矩阵的逆置、矩阵的加减运算和乘除运算有更深的了解,能熟练运用矩阵进行相关的操作。

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


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

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

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