实现稀疏矩阵(采用三元组表示)的基本运算实验报告 一 实验题目: 实现稀疏矩阵(采用三元组表示)的基本运算 二 实验要求: (1)生成如下两个稀疏矩阵的三元组 a 和 b; (上机实验指导 P92 ) (2)输出 a 转置矩阵的三元组 ; (3)输出a + b 的三元组; (4)输出 a * b 的三元组; 三 实验内容: 3
1 稀疏矩阵的抽象数据类型: ADT SparseMatrix { 数据对象:D={aij| i = 1,2,3,…
,m; j =1,2,3,……,n; ai,j∈ElemSet,m 和n 分别称为矩阵的行数和列数 } 数据关系 : R={ Row , Col } Row ={ | 1≤ i≤m , 1≤ j≤ n-1} Col ={| 1≤i≤m-1,1≤j≤n} 基本操作: CreateSMatrix(&M) 操作结果:创建稀疏矩阵 M PrintSMatrix(M) 初始条件:稀疏矩阵M 已经存在 操作结果:打印矩阵M DestroySMatrix(&M) 初始条件:稀疏矩阵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=M*N }ADT SparseMatrix 3
2 存储结构的定义 #define N 4 typedef