数组压缩存储
数组压缩存储
1.一维数组的存储结构
一般而言,如果没有特别强调,数组下标默认从零开始,各个数组元素大小相同,且物理上连续存放
由上图可知,数组元素a[i]的存放地址为LOC+i*sizeof(ElemType)
2.二维数组的存储结构
二维数组其实就是在一维数组的基础上多加了一个维度,分出了行和列的区别,这也导致二维数组的存储结构存在两种方式,行优先和列优先。
列优先时,数组元素a[i]的存放地址为LOC+(j * m+i) * sizeof(ElemType)
行优先时,数组元素a[i]的存放地址为LOC+(i * n+j) * sizeof(ElemType)
3.特殊矩阵的压缩存储方式
由于对称矩阵的对称特性,实现确认存储的数组大小为(1+2+3+…+n)=(1+n)*n/2
- 稀疏矩阵的压缩存储
4.常见考试类型
数组压缩存储
https://one-null-pointer.github.io/2022/10/20/数据结构五/