《数据结构 课程设计》稀疏矩阵实验报告

《数据结构 课程设计》稀疏矩阵实验报告

ID:38219195

大小:97.96 KB

页数:17页

时间:2019-06-06

《数据结构 课程设计》稀疏矩阵实验报告_第1页
《数据结构 课程设计》稀疏矩阵实验报告_第2页
《数据结构 课程设计》稀疏矩阵实验报告_第3页
《数据结构 课程设计》稀疏矩阵实验报告_第4页
《数据结构 课程设计》稀疏矩阵实验报告_第5页
资源描述:

《《数据结构 课程设计》稀疏矩阵实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录一、概述1二、系统分析1三、概要设计1(1)主界面的设计:2(2)系数矩阵的存储2(3)具体实现流程图:3四、详细设计4(2)稀疏矩阵的相加:5五、运行与测试8六、总结与心得8参考文献9源代码916一、概述稀疏矩阵的加法运算,既将稀疏矩阵A和B,他均为m行n列,分别以数组的形式存放在A和B中,实现A+B=C,将所得的结果存放在C数组中。二、系统分析稀疏矩阵的保存:以一位数组顺序存放非零元素的行号、列号和数值,行号为-1作为结束符。以三个一维数组存放一个系数矩阵中的一个非零元素,为零额元素则不保存。用一个二重循环来实现判断每个系

2、数矩阵的非零元素是否为零,不为零,就将其行列下标和其值存入一维数组中稀疏矩阵的相加:用循环来判断存储A何B稀疏矩阵的两个一维数组中的行列下标是否相等和其大小关系。若相等,则将两个一维数组的第三个元素的值相加存入新的数组C里,行列下标不变的存入进去;若A的列小于B的列,则将A的三个元素直接存入C中;若B的列小于A的列,则将B的三个元素村日C中;若A的行小于B的行,则将A的三个元素存入C中;若A的行大于B的行,则将B存入C中。16二、概要设计(1)主界面的设计:定义两个矩阵a=00300000b=0200000000000050000

3、400000000000000000600000070000000800000000000001000000900000000000000定义两个数组A和B,用于存储矩阵a和矩阵b的值;定义一个数组C,用于存放数组A和数组B相加后的结果。(2)系数矩阵的存储用一维数组存放系数矩阵A如下:A[0]=0,A[1]=2,A[2]=3,16A[3]=1,A[4]=6,A[5]=5,A[6]=3,A[7]=4,A[8]=7,A[9]=5,A[10]=1,A[11]=9,A[12]=-1。用一维数组存放系数矩阵B如下:B[0]=0,B[1]=

4、1,B[2]=2,B[3]=1,B[4]=3,B[5]=4,B[6]=2,B[7]=5,B[8]=6,B[9]=3,B[10]=4,B[11]=8,B[12]=4,B[13]=2,B[14]=1,B[15]=-1。(3)具体实现流程图:16四、详细设计(1)稀疏矩阵的转存:voidCreateMatrix(intA[m][n],intB[50]),这是一个将稀疏矩阵转存的函数,类似于顺序存储三元组表。在这个方法中,只要用一个二重循环来判断每个矩阵元素是否为零,若不为零,则将其行、列下标及其值存入到一维数组B中对应的元素。在定义函数

5、的过程中,我们需要定义一个for循环,以完成行和列的转换及存储。在函数的末尾我们定义一个B[K]=-1,用于结束非零元素的存储。算法如下:voidCreateMatrix(intA[m][n],intB[50]){inti,j,k=0;for(i=0;i

6、x]),这个函数用于实现数组A和数组B的相加,并将其相加的结果存入数组C。这个函数讨论了数组在相加的过程中的几种情况:a、A数组和B数组的行相等且列相等,两者直接相加后存入数组C中。if(A[i]==B[j]){if(A[i+1]==B[j+1]){C[k]=A[i];C[k+1]=A[i+1];C[k+2]=A[i+2]+B[j+2];k=k+3;i=i+3;j=j+3;}}b、A的列小于B的列,将A的三个元素直接存入C中16if(A[i+1]

7、+2];k=k+3;i=i+3;}c、B的列小于A的列,将B的三个元素直接存入C中if(A[i+1]>B[j+1]){C[k]=B[j];C[k+1]=B[j+1];C[k+2]=B[j+2];k=k+3;j=j+3;}d、A的行小于B的行,将A的三个元素直接存入C中if(A[i]B[j]){C[k]=B[j];C[k+1]=B[j+1];C[k+2

8、]=B[j+2];k=k+3;j=j+3;}f、A结束B还有元素,将B的所有元素直接存入C中if(A[i]==-1)while(B[j]!=-1){C[k]=B[j];C[k+1]=B[j+1];C[k+2]=B[j+2];k=k+3;j=j+3;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。