1.1一维数组的存储结构
起始地址:LOC
各数组元素大小相同,且物理上连续存放。
数组元素a[i] 的存放地址 = LOC + i * sizeof(ElemType)
1.2二维数组的存储结构
起始地址:LOC
逻辑视角与存储视角不同
(1)行优存储:b[i][j] 的存储地址 = LOC + (i*N + j) * sizeof(ElemType)
(2)列优存储:b[i][j] 的存储地址 = LOC + ( j*M+ i ) * sizeof(ElemType)
2.普通矩阵的存储
描述矩阵元素时,行、列号通常从 1 开始;而描述数组时通常下标从0开始
某些特殊矩阵可以压缩存储空间
2.1对称矩阵的压缩存储
普通存储:n*n 二维数组
压缩存储策略:只存储主对角线+下三角区 (或主对角线+上三角区)
思考:
- 数组大小(1+n)*n / 2
- 按行优先的原则:aij(i>=j)是第 i(i-1)/2+j 个元素,下标为 i(i-1)/2+j -1【i<j时按对称阵