关于矩阵压缩存储的程序设计,没学过就来一个这样的作业,跪求大神拯救学渣问题描述:矩阵是许多科学与工程计算问题中出现的数学对象。在此,我们感兴趣的不是矩阵本身,我们所关心的是研究表示矩阵的方法,以使对矩阵的各种运算能有效地完成。一个矩阵一般由m行和n列元素组成,一般的m*n阶矩阵,可表示成一个m*n的二维数组,例如matrix[m][n],需要的存储空间是m*n实现要求:[1] 若矩阵中的元素是对称的,即矩阵中第i行第j列与第j行第i列元素的值相等,即matrix[i][j]=matrix[j][i],我们
2019-05-23
关于矩阵压缩存储的程序设计,没学过就来一个这样的作业,跪求大神拯救学渣
问题描述:矩阵是许多科学与工程计算问题中出现的数学对象。在此,我们感兴趣的不是矩阵本身,我们所关心的是研究表示矩阵的方法,以使对矩阵的各种运算能有效地完成。一个矩阵一般由m行和n列元素组成,一般的m*n阶矩阵,可表示成一个m*n的二维数组,例如matrix[m][n],需要的存储空间是m*n
实现要求:
[1] 若矩阵中的元素是对称的,即矩阵中第i行第j列与第j行第i列元素的值相等,即matrix[i][j]=matrix[j][i],我们把这种矩阵称为对称矩阵。对于n*n阶对称矩阵,我们可以为每一对对称元素分配一个存储空间,即只需要存储其下三角(包括对角线)或上三角中的元素即可。这样,就可将n2个元素压缩存储到n(n+1)/2个存储单元中。请实现该功能
[2] 当一个n*n阶矩阵的主对角线上方或下方的所有元素皆为零时,称该矩阵为三角矩阵。对于三角矩阵,我们同样也可采用对称矩阵的压缩存储方式将其上三角或下三角的元素存储在一维数组中,达到节约存储空间的目的。请实现该功能
[3]除了对称矩阵和三角矩阵等特殊矩阵外,在实际应用中我们还经常遇到这样一类矩阵,存储在矩阵中的大量元素值为零,而且零元素的分布没有规律,这样的矩阵称为稀疏矩阵。对于稀疏矩阵,采用二维数组表示既浪费大量的存储单元来存储零元素,又要花大量的时间进行零元素的运算。为此,我们对稀疏矩阵采取三元组法进行存储。请实现该功能