Welcome

首页 / 软件开发 / C++ / C++数组应用之特殊矩阵的压缩存储

C++数组应用之特殊矩阵的压缩存储2011-05-31矩阵:

矩阵是数值程序设计中经常用到的数学模型,它是由 m 行和 n 列的数值构成(m=n 时称为方阵)。在用高级语言编制的程序中,通常用二维 数组表示矩阵,它使矩阵中的每个元素都可在二维数组中找到相对应的存储位置 。然而在数值分析的计算中经常出现一些有下列特性的高阶矩阵,即矩阵中有很 多值相同的元或零值元,为了节省存储空间,需要对它们进行"压缩存储 ",即不存或少存这些值相同的元或零值元。

操作:可以对矩阵作 加、减、乘等运算。

存储压缩目标:

节约存储空间

压缩 的方法:

零元不存储

多个值相同的只存一个

压缩存储的 对象:

稀疏矩阵

特殊矩阵

特殊矩阵:

值相同元素 或者零元素分布有一定规律的矩阵称为特殊矩阵 例:对称矩阵、 上(下)三角 矩阵都是特殊矩阵

特殊矩阵压缩存储(以对称矩阵为例)

对称矩阵是满足下面条 件的n 阶矩阵: aij= aji 1<= i,j<= n

k= 0 1 2 3 4 5 6 n(n+1)/2-1