资源描述:
《《数据结构》课程设计报告--稀疏矩阵运算器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数据结构课程设计报告设计题目:稀疏矩阵运算器班级计科112班学号姓名张先敏王宇妮李艳丽指导教师朱艳丽起止时间2013.10.14—2013.10.18成绩2013—2014年一学期一、实验目的通过实习,了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。二、问题描述稀疏矩阵是指那些多数元素为零的矩阵。利用“稀疏”特点进行存储和计算可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本运算的运算器。三、条件分析1.以“带行逻辑链接信息”的三元组顺序表表示稀
2、疏矩阵,实现矩阵转置,求逆,实现两个矩阵相加、相减和相乘的运算。稀疏矩阵的输入形式采用三元组表示,而运算结果的矩阵则以通常的阵列形式列出。2.演示程序以用户和计算机的对话方式执行,数组的建立方式为边输入边建立。3.由题目要求可知:首先应输入矩阵的行数和列数,并判别给出的两个矩阵的行、列数对于所要求作的运算是否相匹配。4.程序可以对三元组的输入顺序不加以限制;根据对矩阵的行列,三元组作直接插入排序,从而进行运算时,不会产生错误。5.在用三元组表示稀疏矩阵时,相加、乘积和相减所得结果矩阵应该另生成;矩阵求逆时,为了算法方便,使用二维数组存放。6.测试数据如下:1000000100
3、0000+00-1=008-10010-300-31000010009-0-1=010-101-3-231001010020×00=000031030四.概要设计1.抽象数据类型稀疏矩阵的定义如下:ADTSparseMatrix{数据对象:D={aij
4、i=1,2,…,m;j=1,2,…,n;aij∈ElemSet,m和n分别为矩阵的行数和列数}数据关系:R={Row,Colum}-19-Row={﹤ai,j,ai,j+1﹥
5、1≤i≤m,1≤j≤n-1}Colum={﹤ai,j,ai+1,j﹥
6、1≤i≤m-1,1≤j≤n}基本操作:creat_matrix(crosslist
7、TM)操作结果:创建稀疏矩阵矩阵TMprint_matrix(crosslistTM)初始条件:稀疏矩阵TM存在操作结果:通常形式输出稀疏矩阵add_matrix(crosslistA,crosslistB,crosslist&C)初始条件:稀疏矩阵A,B和C存在操作结果:稀疏矩阵的加法运算:C=A+Bsub_matrix(crosslistA,crosslistB,crosslist&C)初始条件:稀疏矩阵A,B和C存在操作结果:稀疏矩阵的减法运算:C=A-Bmulti_matrix(crosslistA,crosslistB,crosslist&C)初始条件:稀疏矩阵A,
8、B和C存在操作结果:稀疏矩阵的乘法运算:C=A×B}ADTSparseMatrix;2.主程序:voidmain(){初始化;do{接受命令;选择处理命令;}while(命令!=“退出”)3.本程序有四个模块,调用关系如下:主程序模块创建矩阵模块矩阵运算模块矩阵输出模块五、程序设计1、矩阵的定义typedefstructlist{introw;intcolum;intvalue;structlist*right;structlist*down;}node,*element;typedefstructlink-19-{introw_size;//矩阵的行数intcolum_si
9、ze;//矩阵的列数intnon_zero_amount;//非零元素的个数element*rhead;//行链表头指针基址element*chead;//列链表头指针基址}crosslist;2、基本操作设定为:稀疏矩阵的基本操作设置如下:intcreat_matrix(crosslist&one);//用十字链表创建稀疏矩阵intprint_matrix(crosslist&one)//输出稀疏矩阵intadd_matrix(crosslistone,crosslisttwo,crosslist&three)//加法运算intsub_matrix(crosslistM,c
10、rosslistN,crosslist&Q)//矩阵相减intmulti_matrix(crosslistone,crosslisttwo,crosslist&three)//矩阵相乘intmain(void)//主函数3.函数的调用关系图maincreateAdd_matrixSub_matrixMulti_matrix六、测试结果1.按题目测试要求输入:(1)程序主页面(2)矩阵相加-19-(3)矩阵相减(4)矩阵相乘(5)退出系统七、结果分析-19-1.本次作业中,稀疏矩阵在书本有较详细的说明,给