资源描述:
《稀疏矩阵的运算实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划稀疏矩阵的运算实验报告 实现稀疏矩阵的基本运算实验报告 一实验题目:实现稀疏矩阵的基本运算 二实验要求: 生成如下两个稀疏矩阵的三元组a和b; 输出a转置矩阵的三元组; 输出a+b的三元组; 输出a*b的三元组; 三实验内容: 稀疏矩阵的抽象数据类型: ADTSparseMatrix{ 数据对象:D={aij
2、i=1,2,3,….,m;j=1,2,3,……,n; ai,j∈ElemSet,m和n分别称为矩阵的行数和列数}数据关系:
3、R={Row,Col} Row={
4、1≤i≤m,1≤j≤n-1}Col={
5、1≤i≤m-1,1≤j≤n} 基本操作: CreateSMatrix(&M) 操作结果:创建稀疏矩阵M PrintSMatrix(M) 初始条件:稀疏矩阵M已经存在 操作结果:打印矩阵M目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 DestroySMatrix(&M) 初始条件:稀
6、疏矩阵M已经存在 操作结果:销毁矩阵M CopySMatrix(M,&T) 初始条件:稀疏矩阵M已经存在 操作结果:复制矩阵M到T AddSMatrix(M,N,&Q) 初始条件:稀疏矩阵M、N已经存在 操作结果:求矩阵的和Q=M+N SubSMatrix(M,N,&Q) 初始条件:稀疏矩阵M、N已经存在 操作结果:求矩阵的差Q=M-N TransposeSMatrix(M,&T) 初始条件:稀疏矩阵M已经存在 操作结果:求矩阵M的转置T MultSMatrix(M,N,&Q) 初始条件:稀疏矩阵M已经存在 操作结果:求矩阵的积Q=
7、M*N }ADTSparseMatrix 存储结构的定义 #defineN4 typedefintElemType;目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 #defineMaxSize100//矩阵中非零元素最多个数 typedefstruct {intr;//行号 intc;//列号 ElemTyped;//元素值 }TupNode;//三元组定
8、义 typedefstruct {introws;//行数值 intcols;//列数值 intnums;//非零元素个数 TupNodedata[MaxSize]; }TSMatrix;//三元组顺序表定义 基本操作实现: voidCreatMat(TSMatrix&t,ElemTypeA[N][N]) { inti,j; =N;=N;=0; for(i=0;i加法:用各种if判断,区分出矩阵进行加法时的可能情况,分情况处理即可。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这
9、个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 3.矩阵乘法:通过getvalue函数查找矩阵c中i行j列,所储存的元素的值。然后便是模拟矩阵乘法的过程进行求解。 解题过程: 实验源代码如下: 顺序表的各种运算 #include #defineN4 typedefintElemType; #defineMaxSize100//矩阵中非零元素最多个数 typedefstruct {intr;//行号 intc;//列号 ElemTyped;//元素值 }Tup
10、Node;//三元组定义 typedefstruct {introws;//行数值 intcols;//列数值 intnums;//非零元素个数 TupNodedata[MaxSize]; }TSMatrix;//三元组顺序表定义 voidCreatMat(TSMatrix&t,ElemTypeA[N][N]){ inti,j; =N;=N;=0;目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从
11、业人员的业