数组是由类型相同的数据元素构成的有序集合,每个元素称为数组元素,每个元素都受n个线性关系的约束。数组可以看成是线性表的推广,其特点是结构中的元素本身可以是具有某种数据结构的数据,但是属于同一数据类型。
1.数组的顺序存储
假设每个数据元素占L个存储空间,则二维数组A[0...m-1,0...n-1](即下标从0开始,共有m行n列)中任意元素a(ij)的存储位置:
LOC(i,j) = LOC(0,0)+(n*i+j)L
2. 特殊矩阵的压缩存储
三角矩阵的特点
此处讨论的三角矩阵的行数和列数是一样的,不妨设都设为n。如下所示:

如上所示,为上三角矩阵,矩阵的对角线以下的所有元素均为同一常数δ,或者无效的数据。从上往下逐行的元素总数是比上一行少一个,构成等差数列条件,以下会用的等差数列数学知识。若δ为常数,则需要在所有元素的最后一个另外加一个元素位置单独存放该数据,毕竟只要是有效数据就需要存储的嘛。对于下三角矩阵有类似的特点,这里放到公式推导里面去介绍。
-
上三角矩阵的存储
-
下三角矩阵的存储
网友评论