1、 数组
1.1 定义
数组是n个相同元素组成的有限序列,是线性表的推广
1.2 存储结构
按行优先、按列优先
2、矩阵
为了节省空间,找出矩阵中相同元素的分布规律进行压缩
- 对称矩阵
新的元素下标为
k = { i ( i − 1 ) 2 + j − 1 i ≥ j ( 下 三 角 区 和 主 对 角 元 素 ) j ( j − 1 ) 2 + i − 1 i < j ( 上 三 角 区 元 素 a i j = a j i ) k=\left\{ \begin{array}{rcl} \frac {i(i-1)}2+j-1 & & {i≥j(下三角区和主对角元素)}\\ \frac {j(j-1)}2+i-1 & & {i<j(上三角区元素a_{ij}=a_{ji})} \end{array} \right. k={2i(i−1)+j−12j(j−1)+i−1i≥j(下三角区和主对角元素)i<j(上三角区元素aij=aji)
推导过程
下标从0开始:
若为下三角:
k(aij)= 1+2+…+(i-1)+(j-1)
若为上三角:
k(aij)=n+(n-1)+…+(n-i+1)+(j-i+1)
-
三角矩阵
下三角矩阵新的元素下标为
k = { i ( i − 1 ) 2 + j − 1 i ≥ j ( 下 三 角 区 和 主 对 角 元 素 ) n ( n + 1 ) 2 i < j ( 上 三 角 区 元 素 a i j = a j i ) k=\left\{ \begin{array}{rcl} \frac {i(i-1)}2+j-1 & & {i≥j(下三角区和主对角元素)}\\ \frac {n(n+1)}2 & & {i<j(上三角区元素a_{ij}=a_{ji})} \end{array} \right. k={2i(i−1)+j−12n(n+1)i≥j(下三角区和主对角元素)i<j(上三角区元素aij=aji)
上三角矩阵新的元素下标为
k = { ( i − 1 ) ( 2 n − i + 2 ) 2 + j − i i ≥ j ( 下 三 角 区 和 主 对 角 元 素 ) n ( n + 1 ) 2 i < j ( 上 三 角 区 元 素 a i j = a j i ) k=\left\{ \begin{array}{rcl} \frac {(i-1)(2n-i+2)}2+j-i & & {i≥j(下三角区和主对角元素)}\\ \frac {n(n+1)}2 & & {i<j(上三角区元素a_{ij}=a_{ji})} \end{array} \right. k={2(i−1)(2n−i+2)+j−i2n(n+1)i≥j(下三角区和主对角元素)i<j(上三角区元素aij=aji) -
三对角矩阵
压缩下标为k=2i+j-3
若还原则为i=⌊(k+1)/3+1⌋,j=k-2i+3 -
稀疏矩阵
将非0元素及其相应的行列构成一个三元组(行标,列标,值)
【压缩后失去了随机存取特性】
考研tips:
需掌握特殊矩阵的压缩,常以选择题形式出现
小狼的相关博文: