南昌航空大学实验报告
课程名称: 数据结构 实验名称: 实验五 稀疏矩阵的存储和快速转置 班 级: 学生姓名: 学号: 指导教师评定: 签 名:
题目:假设稀疏矩阵A采用三元组表表示,编写程序实现该矩阵的快速转置 要求:输入一个稀疏矩阵A,由程序将其转换成三元组表存储;转置后的三元组
表,由程序将其转换成矩阵形式后输出。
一、需求分析
1. 用户可以根据自己的需求输入任意一个稀疏矩阵,通过程序将其转换成三元组存储方
式;
2. 并且能够完成矩阵的转置功能,要求需要使用的方法是快速转置的方法。
3. 最后要够显示原矩阵和转置后的矩阵让用户能进行比较。
4. 程序执行的命令包括:
(1)构造稀疏矩阵M (2)求转转矩阵T (3)显示(打印)矩阵
二、概要设计
⒈ 为实现上述算法,需要线性表的抽象数据类型:
ADT SparseMatrix {
数据对象:D={aij:|aij∈TermSet,i=1 m,m≥0,j=1 n,n≥0
m和n分别成为矩阵的行数和列数 }
数据关系:R={Row,Col}
Row ={|1≤i≤m,1≤j≤n-1 }
Col ={|1≤i≤m-1,1≤j≤n }
基本操作:
CreateSMtrix(& M)
操作结果:创建稀疏矩阵M。
DestroySMaix(&M)
初始条件:稀疏矩阵M已存在。
操作结果:销毁稀疏矩阵M。
PrintSMatrix(L)
初始条件:稀疏矩阵M已经存在。
操作结果:输出稀疏矩阵M。
CopySMatrix(M,&T)
初始条件:稀疏矩阵M已经存在。
操作结果:由稀疏矩阵M复制得到T。
TransposeSMatrix(M,&T)
初始条件:稀疏矩阵M已经存在。