稀疏矩阵基本操作实验报告一、实验内容稀疏矩阵的压缩储存结构,以及稀疏矩阵的三元组表表示方法下的转置、相加、相乘等算法二、实验目的1.熟悉数组、矩阵的定义和基本操作2.熟悉稀疏矩阵的储存方式和基本运算3.理解稀疏矩阵的三元组表类型定义,掌握稀疏矩阵的输入、输出和转置算法三、实验原理1.使用三元组储存矩阵中的非零元素(三元组分别储存非零元素的行下标,列下标和元素值)。除了三元组表本身,储存一个稀疏矩阵还需要额外的三个变量,分别储存矩阵的非零元个数,矩阵的行数和矩阵的列数。2.稀疏矩阵的创建算法:第一步: 根据矩阵创建一个二维数组,表示原始矩阵第二步: 取出二维数组中的元素(从第一个元素开始取),判断取出元素是否为非零元素,如果为非零元素,把该非零元素的数值以及行下标和列下表储存到三元数组表里,否则取出下一个元素,重复该步骤。第三步: 重复第二步,知道二维数组中所有的元素已经取出。3.稀疏矩阵倒置算法:第一步: 判断进行倒置的矩阵是否为空矩阵,如果是,则直接返回错误信息。第二步:计算要倒置的矩阵每列非零元素的数量,存入到 num 数组(其中 num[i] 代表矩阵中第i 列非零元素的个数) 。以及倒置后矩阵每行首非零元的位置,存入 cpot数组中(其中 cpot 表示倒置后矩阵每行非零元的位置,对应表示原矩阵每列中第一个非零元的位置) 。第三步: 确定倒置后矩阵的行数和列数。第四步: 取出表示要导致矩阵中三元组表元素{e, I, j}(第一次取出第一个,依次取出下一个元素) ,从第二步cpot 数组中确定该元素倒置后存放的位置(cpot[j] ),把该元素的行下标和列下标倒置以后放入新表的指定位置中。cpot[j] 变量加一。第五步: 重复第四步,直到三元组表中所有的元素都完成倒置。第六步: 把完成倒置运算的三元组表输出。4.稀疏矩阵加法算法:第一步: 检查相加两个矩阵的行数和列数是否相同,如果相同,则进入第二步,否则输出错误信息。第二步: 定义变量 i 和 j,用于控制三元组表的遍历。第三步: 比较变量矩阵M 中第 i 个元素和矩阵N 中第 j 个元素,如果两个元素是同一行元素,如果不是则进入第四步,如果是,再继续比较两个元素是否为同一列元素,如果是,把两个元素值相加,放到三元组表中;否则把列下表小的元素依次放到三元组表中。进入第五步第四步: 如果矩阵 M 中第 i 个元素的行下标大于矩阵N 中第 j 个元素的行下标,则把矩阵 N ...