数组与矩阵

数组与矩阵:
数组:存储空间连接的表结构。
矩阵:带二维信息的数据,一般使用二维数据来存储矩阵。
特殊矩阵:
上三角形矩阵:
[0][1][3][6]
[ ][2][4][7]
[ ][ ][5][8]
[ ][ ][ ][9]
压缩方法:用一维数组进行存储
数组的长度:(n+1)*n/2
对应关系:(j+1)*j/2+i
i和j要满足:i<=j
下三角形矩阵
[0][ ][ ][ ]
[1][2][ ][ ]
[3][4][5][ ]
[6][7][8][9]
压缩方法:用一维数组进行存储
数组的长度:(n+1)*n/2,
对应关系:(i+1)*i/2+j。
i和j要满足:j<=i
对称矩阵:沿着0,0 1,1 2,2 … i,j 对称。
[0][1][3][6]
[1][2][4][7]
[3][4][5][8]
[6][7][8][9]
压缩方法:用一维数组进行存储,把它当作上三角或下三角即可。
数组的长度:(n+1)*n/2,
对应关系:(i+1)*i/2+j。
i和j要满足:如果j>i时候,交换它们的值。
对角矩阵:沿着0,0 1,1 2,2 … i,j 对角线的两边有数据。
[0][1][ ][ ]
[2][3][4][ ]
[ ][5][6][7]
[ ][ ][8][9]
压缩方法:用一维数组进行存储
数组的长度:3n-2,
对应关系:2
i+j
i和j要满足:abs(i-j) <= 1
【数组与矩阵】稀疏矩阵:有效的信息不多,绝大多数都是无效信息都不需要存储,没有特定的标准,全凭感觉。
这些矩阵如果使用二维数组来存储的话,会非常浪费存储空间,为了节约空间,我们可以对这些矩阵进行压缩。
压缩方法:使用三元组进行压缩。
三元组:有三个数据项:行,列,值 构成一个整体,可顺序存储也可链式存储。
注意:稀疏矩阵压缩后就丢失的随机访问的功能。

    推荐阅读